- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Collection接口及实现类
Java语言的Collection接口及实现类是在java.util包中定义的,其中定义了多个接口和类,它们统称为Java集合框架(Java Collection Framework)。
Java集合框架由两种类型构成,一个是Collection,另一个是Map。Collection对象用于存放一组对象,Map对象用于存放一组关键字/值的对象。Collection和Map是最基本的接口,它们又有子接口,这些接口的层次关系如图1所示。
图1 Java集合框架的接口继承关系
1.1 Collection接口及操作
Collection接口是所有集合类型的根接口,它有三个子接口:Set接口、List接口和Queue接口。
Collection接口的定义如下:
public interface CollectionE extends IterableE {
// 基本操作
int size();
boolean isEmpty();
boolean contains(Object element);
boolean add(E element);
boolean remove(Object element);
Iterator iterator();
// 批量操作
boolean containsAll(Collection? c);
boolean addAll(Collection? extends E c);
boolean removeAll(Collection? c);
boolean retainAll(Collection? c);
void clear();
// 数组操作
Object[] toArray();
T T[] toArray(T[] a);
}
说明 从JDK 1.5开始,Java开始支持范型(generics)的概念。在Collection接口的声明中,E就表示该接口支持范型,它指的是集合中的对象类型。这样,当我们声明一个Collection实例时,应该使用这种方式指明包含在集合中的对象类型。这可以使编译器在编译时检查存入集合的对象类型是否正确,从而减少运行时错误。
Collection接口中定义的方法主要包括三类:集合操作、批量操作和数组操作。
1. 基本操作
实现基本操作的方法有size(),它返回集合中元素的个数;isEmpty()方法返回集合是否为空;contains()方法返回集合中是否包含指定的对象;add()方法和remove()方法实现向集合中添加元素和删除元素的功能;iterator()方法用来返回Iterator对象。
通过基本操作可以检索集合中的元素。检索集合中的元素有两种方法:使用增强的for循环和使用Iterator迭代对象。
(1)使用增强的for循环
使用增强的for循环不但可以遍历数组的每个元素,还可以遍历集合的每个元素。下面的代码打印集合的每个元素:
for (Object o : collection)
System.out.println(o);
(2)使用迭代器
迭代器是一个可以遍历集合中每个元素的对象。通过调用集合对象的iterator()方法可以得到Iterator对象,再调用Iterator对象的方法就可以遍历集合中的每个元素。
Iterator接口的定义如下:
public interface IteratorE {
boolean hasNext();
E next();
void remove();
}
该接口的hasNext()方法返回迭代器中是否还有对象;next()方法返回迭代器中下一个对象;remove()方法删除迭代器中的对象,该方法同时从集合中删除对象。
假设c为一个Collection对象,要访问c中的每个元素,可以按下列方法实现:
Iterator it = c.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
2. 批量操作
实现批量操作的方法有containsAll(),它返回集合中是否包含指定集合中的所有元素;addAll()方法和removeAll()方法将指定集合中的元素添加到集合中和从集合中删除指定的集合元素;retainAll()方法删除集合中不属于指定集合中的元素;clear()方法删除集合中所有元素。
3. 数组操作
toArray()方法可以实现集合与数组的转换。该方
您可能关注的文档
- 2016年题库1.doc
- 2016年重性精神疾病管理实施方案.doc
- 2016年组织行为学课程论文论群体决策要避免的问题.doc
- 2016年普法考试答案(集合了五套试题).doc
- 2016春开放教育入学指南参考答案.doc
- 2016春国家开放大学学习指南形考作业册及答案.docx
- 2016浙江高考文综卷历史试题及参考答案.docx
- 2016海淀区高三理综二模.docx
- 2016海淀物理二模带答案.docx
- 2016网络普法考试分章节练习题-5公民的基本权利和义务.docx
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)