搜索 K
Appearance
博客正在加载中...
Appearance
接下来几篇文章,我们将介绍集合类,也算用的非常多的类了。
什么是集合?集合就是一堆元素组成的整体,例如
在工作中,我们经常需要处理集合,例如将一些商品从价格排序;筛选符合某些条件的客户……为此,Java 引入了集合类。
在 Java 中,如果一个 Java 对象可以在内部持有若干其他 Java 对象,并对外提供访问接口,我们把这种 Java 对象称为集合。很显然,Java 的数组可以看作是一种集合。但数组不方便:
因此,我们需要其他的集合类来处理不同的数据,例如可变大小的链表,可以保证无重复的的集合。
Java 标准库自带的 java.util 包提供了集合类:Collection,它是除 Map 外所有其他集合类的根接口。Java 的 java.util 包主要提供了以下三种类型的集合:
List:一种有序列表的集合,例如,按索引排列的 Student 的 List;Set:一种保证没有重复元素的集合,例如,所有无重复名称的 Student 的 Set;Map:一种通过键值(key-value)查找的映射表集合,例如,根据 Student 的 name 查找对应 Student 的 Map。Java 集合的设计有几个特点:
List,具体的实现类有 ArrayList,LinkedList 等,List<String> list = new ArrayList<>(); // 只能放入String类型由于 Java 的集合设计非常久远,中间经历过大规模改进,我们要注意到有一小部分集合类是遗留类,还有一些遗留接口,不应该继续使用:
Hashtable:一种线程安全的 Map 实现;Vector:一种线程安全的 List 实现;Stack:基于 Vector 实现的 LIFO 的栈。Enumeration<E>:遗留接口,已被 Iterator<E> 取代。