Java 提供了丰富的数据结构,这些数据结构用于存储和操作数据。以下是一些常用的 Java 数据结构:

1. 数组(Array):

数组是一种基本的数据结构,它可以存储相同类型的元素。数组的大小在创建时确定,不可变。
int[] intArray = new int[5];  // 创建一个包含5个整数的数组

2. 列表(List):

列表是一种动态数组,它可以存储不同类型的元素,并且可以根据需要动态调整大小。
List stringList = new ArrayList<>();  // 创建一个字符串列表
stringList.add("apple");
stringList.add("banana");

3. 集合(Set):

集合是一种不包含重复元素的数据结构。Java 提供了多种集合实现,如 HashSet、LinkedHashSet、TreeSet。
Set integerSet = new HashSet<>();  // 创建一个整数集合
integerSet.add(1);
integerSet.add(2);

4. 映射(Map):

映射是一种键值对的数据结构,它允许根据键来查找值。Java 提供了多种映射实现,如 HashMap、LinkedHashMap、TreeMap。
Map wordCountMap = new HashMap<>();  // 创建一个字符串计数映射
wordCountMap.put("apple", 3);
wordCountMap.put("banana", 2);

5. 队列(Queue):

队列是一种先进先出(FIFO)的数据结构,可以用于实现广度优先搜索等算法。Java 提供了 LinkedList 类来实现队列。
Queue queue = new LinkedList<>();  // 创建一个字符串队列
queue.offer("apple");
queue.offer("banana");

6. 栈(Stack):

栈是一种后进先出(LIFO)的数据结构,可以用于实现深度优先搜索等算法。Java 提供了 Stack 类来实现栈。
Stack stack = new Stack<>();  // 创建一个字符串栈
stack.push("apple");
stack.push("banana");

7. LinkedList:

LinkedList 既可以用作列表,也可以用作队列。它实现了 List 和 Deque 接口。
LinkedList linkedList = new LinkedList<>();
linkedList.add("apple");
linkedList.add("banana");

8. PriorityQueue:

PriorityQueue 是一个基于优先级堆的队列实现,可以按照元素的自然顺序或通过提供的比较器来排序。
PriorityQueue priorityQueue = new PriorityQueue<>();
priorityQueue.add(3);
priorityQueue.add(1);

这只是 Java 数据结构的一小部分,Java 还提供了更多的数据结构和算法,如 TreeSet、LinkedHashSet、HashMap、LinkedHashMap、TreeMap 等。选择合适的数据结构取决于问题的性质和所需的操作。




转载请注明出处:http://www.zyzy.cn/article/detail/432/Java