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