掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

Java中常见的8种数据结构(附实现代码)

在 Java 编程中,数据结构是程序设计和算法实现的基础。合理选择和使用数据结构可以显著提高程序的效率和可维护性。Java 提供了丰富的内置数据结构类,如 List、Set、Map 等,同时也支持自定义实现。本文将介绍 Java 中常见的 8 种数据结构,并附上简单的实现代码,帮助开发者更好地理解和应用这些数据结构。

一、数组(Array)

数组是最基础的数据结构,用于存储固定大小的同类型元素。Java 中的数组可以通过声明和初始化来创建。

int[] arr = {1, 2, 3, 4, 5};
System.out.println(arr[0]); // 输出 1

数组访问速度快,但长度固定,无法动态扩展。

二、链表(Linked List)

链表由节点组成,每个节点包含数据和指向下一个节点的指针。Java 中没有直接的链表类,但可以通过自定义类实现。

class Node {
    int data;
    Node next;
    public Node(int data) {
        this.data = data;
        this.next = null;
    }
}
public class LinkedList {
    Node head;
    public void add(int data) {
        Node node = new Node(data);
        if (head == null) {
            head = node;
        } else {
            Node current = head;
            while (current.next != null) {
                current = current.next;
            }
            current.next = node;
        }
    }
    public void print() {
        Node current = head;
        while (current != null) {
            System.out.print(current.data + " ");
            current = current.next;
        }
    }
}

链表适合频繁插入和删除操作,但随机访问效率较低。

三、栈(Stack)

栈是一种后进先出(LIFO)的数据结构,常用于递归、表达式求值等场景。

import java.util.Stack;
public class StackExample {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        stack.push(10);
        stack.push(20);
        System.out.println(stack.pop()); // 输出 20
        System.out.println(stack.peek()); // 输出 10
    }
}

四、队列(Queue)

队列是一种先进先出(FIFO)的数据结构,适用于任务调度、缓冲区等场景。

import java.util.Queue;
import java.util.LinkedList;
public class QueueExample {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();
        queue.add(10);
        queue.add(20);
        System.out.println(queue.poll()); // 输出 10
        System.out.println(queue.peek()); // 输出 20
    }
}

五、哈希表(Hash Table)

哈希表通过键值对存储数据,提供快速的查找、插入和删除操作。Java 中的 HashMap 是其典型实现。

import java.util.HashMap;
public class HashTableExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);
        System.out.println(map.get("Apple")); // 输出 1
    }
}

六、树(Tree)

树是一种非线性的层次结构,常用于表示具有父子关系的数据。Java 中可通过自定义类实现二叉树。

class TreeNode {
    int value;
    TreeNode left, right;
    public TreeNode(int value) {
        this.value = value;
        left = right = null;
    }
}
public class BinaryTree {
    public static void main(String[] args) {
        TreeNode root = new TreeNode(1);
        root.left = new TreeNode(2);
        root.right = new TreeNode(3);
    }
}

七、图(Graph)

图由顶点和边构成,用于表示复杂的关系网络。Java 中可通过邻接表或邻接矩阵实现。

import java.util.*;
public class Graph {
    private Map<Integer, List<Integer>> adjList;
    public Graph() {
        adjList = new HashMap<>();
    }
    public void addEdge(int v1, int v2) {
        adjList.putIfAbsent(v1, new ArrayList<>());
        adjList.putIfAbsent(v2, new ArrayList<>());
        adjList.get(v1).add(v2);
        adjList.get(v2).add(v1);
    }
    public void print() {
        for (Map.Entry<Integer, List<Integer>> entry : adjList.entrySet()) {
            System.out.println(entry.getKey() + " -> " + entry.getValue());
        }
    }
}

八、集合(Set)

集合用于存储不重复的元素,Java 中有 HashSet、TreeSet 等实现。

import java.util.HashSet;
public class SetExample {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<>();
        set.add("A");
        set.add("B");
        set.add("A"); // 不会重复添加
        System.out.println(set); // 输出 [A, B]
    }
}

Java中常见的8种数据结构(附实现代码)

Java 中常见的 8 种数据结构各具特点,适用于不同的应用场景。从基础的数组到复杂的图结构,掌握它们的原理和实现方式,有助于提升编程能力和算法设计水平。无论是日常开发还是面试准备,理解并灵活运用这些数据结构都是必不可少的技能。希望本文能够帮助读者更深入地了解 Java 中的数据结构及其实际应用。

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

  • AI语音合成TTS API

    提供多种拟人音色,支持多语言及方言,并可在同一音色下输出多语言内容。系统可自适应语气,流畅处理复杂文本。

    提供多种拟人音色,支持多语言及方言,并可在同一音色下输出多语言内容。系统可自适应语气,流畅处理复杂文本。

  • Google Gemini Image API

    Nano Banana(gemini-2.5-flash-image 和 gemini-3-pro-image-preview图像模型)是图像生成与编辑的最佳选择,可集成 Nano Banana API,实现高速预览。

    Nano Banana(gemini-2.5-flash-image 和 gemini-3-pro-image-preview图像模型)是图像生成与编辑的最佳选择,可集成 Nano Banana API,实现高速预览。

  • AI视频创作

    支持通过自然语言文本智能生成高质量短视频。用户只需输入一段描述性文字,即可自动合成画面连贯、风格鲜明、配乐匹配的定制化视频内容。适用于短视频创作、广告预演、社交内容生成、游戏素材制作等场景,为开发者与创作者提供高效、灵活、富有想象力的视频生产新范式。

    支持通过自然语言文本智能生成高质量短视频。用户只需输入一段描述性文字,即可自动合成画面连贯、风格鲜明、配乐匹配的定制化视频内容。适用于短视频创作、广告预演、社交内容生成、游戏素材制作等场景,为开发者与创作者提供高效、灵活、富有想象力的视频生产新范式。

  • AI图像理解

    先进的图像理解和分析能力,它能够快速准确地解析和理解图像内容。无论是自然风景、城市建筑还是复杂的场景与活动,都能提供详细的描述和深入的分析。

    先进的图像理解和分析能力,它能够快速准确地解析和理解图像内容。无论是自然风景、城市建筑还是复杂的场景与活动,都能提供详细的描述和深入的分析。

  • AI图像编辑

    根据文本提示(prompt)和图片公网访问链接,编辑原图按照特定风格、场景和氛围感的输出新的图像。广泛应用于电商营销、广告设计、创意灵感等领域,为用户带来高效且个性化的AI图像创作体验。

    根据文本提示(prompt)和图片公网访问链接,编辑原图按照特定风格、场景和氛围感的输出新的图像。广泛应用于电商营销、广告设计、创意灵感等领域,为用户带来高效且个性化的AI图像创作体验。

0512-88869195
客服微信二维码

微信扫码,咨询客服

数 据 驱 动 未 来
Data Drives The Future