- 1
- 0
- 约1.65万字
- 约 15页
- 2016-12-29 发布于重庆
- 举报
在实际的项目开发中会有很多的对象,如何高效、方便地管理对象,成为影响程序性能与可维护性的重要环节。Java 提供了集合框架来解决此类问题,线性表、链表、哈希表等是常用的数据结构,在进行 Java 开发时,JDK 已经为我们提供了一系列相应的类来实现基本的数据结构,所有类都在 java.util 这个包里,清单 1 描述了集合类的关系。
1
2
3
4
5
6
7
8
9
10
11 Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap 本文讲的就是集合框架的使用经验总结,注意,本文所有代码基于 JDK7。
Collection 接口
Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素(Elements)。一些 Collection 允许相同的元素、支持对元素进行排序,另一些则不行。JDK 不提供直接继承自 Collection 的类,JDK 提供的类都是继承自 Collection 的子接口,如 List 和 Set。所有实现 Collection 接口的类都必须提供两个标准的构造函数,无参数的构造函数用于创建一个空的 Collection,有一个 Collection 参数的构造函数用于创建一个新的 Collection,这个新的 Collection 与传入的 Collection 有相同的元素,后一个构造函数允许用户复制一个 Collection。
如何遍历 Collection 中的每一个元素?
如何遍历 Collection 中的每一个元素?
不论 Collection 的实际类型如何,它都支持一个 iterator() 的方法,该方法返回一个迭代子,使用该迭代子即可逐一访问 Collection 中每一个元素。典型的用法如下:
1
2
3
4
5
6
7 Iterator it = collection.iterator(); // 获得一个迭代子
?
while(it.hasNext()){
?
Object obj = it.next(); // 得到下一个元素
?
} Collection 接口派生的两个接口是 List 和 Set。
Collection 接口提供的主要方法:
boolean add(Object o) 添加对象到集合;
boolean remove(Object o) 删除指定的对象;
int size() 返回当前集合中元素的数量;
boolean contains(Object o) 查找集合中是否有指定的对象;
boolean isEmpty() 判断集合是否为空;
Iterator iterator() 返回一个迭代器;
boolean containsAll(Collection c) 查找集合中是否有集合 C 中的元素;
boolean addAll(Collection c) 将集合 C 中所有的元素添加给该集合;
void clear() 删除集合中所有元素;
void removeAll(Collection c) 从集合中删除 C 集合中也有的元素;
void retainAll(Collection c) 从集合中删除集合 C 中不包含的元素。
List 接口
List 是有序的 Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在 List 中的位置,类似于数组下标)来访问 List 中的元素,这类似于 Java 的数组。和下文要提到的 Set 不同,List 允许有相同的元素。
除了具有 Collection 接口必备的 iterator() 方法外,List 还提供一个 listIterator() 方法,返回一个 ListIterator 接口。和标准的 Iterator 接口相比,ListIterator 多了一些 add() 之类的方法,允许添加、删除、设定元素、向前或向后遍历等功能。实现 List 接口的常用类有 LinkedList,ArrayList,Vector 和 Stack 等。
List 接口提供的主要方法:
void add(int index,Object element) 在指定位置上添加一个对象;
boolean addAll(int index,Collection c) 将集合 C 的元素添加到指定的位置;
Object get(int index) 返回 List 中指定位置的元素;
int indexOf(Object o) 返回第一个出现元素 O 的位置
您可能关注的文档
- 锁龄黑糖姜茶-产品介绍.docx
- 长期股权投资(会计职称中级考试笔记).docx
- 长期股权投资(张志凤2015基础班讲义4-04).doc
- 长期股权投资初始计量的原则.doc
- 镇江市水平第一次模拟考试化学试题.doc
- 长期股权投资处理.docx
- 阅读空间5-8单元资料.doc
- 阀控缸位置伺服系统.doc
- 防溺水主题班会教案-珍爱生命--预防溺水.doc
- 附属办公楼建筑设计方案节能(绿色建筑)设计审查表2份.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)