Java 中的集合类(又被称为容器)是一组用于存储和操作数据的类库。它们位于 java.util 包中,提供了各种数据结构和算法,用于解决不同的数据存储和处理需求。
提到容器不难会想到数组,集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。常用的集合有 List 集合、Set 集合、Map 集合,其中 List 与 Set 实现了 Collection 接口。各接口还提供了不同的实现类。上述集合类的继承关系如下图:
Java 集合类的特点包括:
(1)动态大小:集合类可以根据需要自动调整大小,不需要手动指定容量。
(2)泛型支持:集合类可以使用泛型来指定存储的元素类型,提高类型安全性和代码可读性。
(3)提供丰富的方法和功能:集合类提供了各种方法和功能,如添加元素、删除元素、查找元素、排序等,方便对数据进行操作和处理。
(4)提供多种实现类:Java集合类提供了多种实现类,如List、Set、Map等,每种实现类都有不同的特点和适用场景。
List:有序的集合,允许重复元素。常用的实现类有 ArrayList、LinkedList 和 Vector。
Set:不允许重复元素的集合。常用的实现类有 HashSet、LinkedHashSet 和 TreeSet。
Map:存储键值对的集合,每个键只能在 Map 中出现一次。常用的实现类有 HashMap、LinkedHashMap 和 TreeMap。
Queue:按照一定规则进行插入和删除的集合。常用的实现类有 LinkedList 和 PriorityQueue。
Stack:后进先出(LIFO)的集合。常用的实现类是 Stack 类本身。