




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二周学习笔记总结 Java.util 2.0、整体概念: java平台提供了一个由不同接口组成的“集合”。用来操作对象,不同的接口描述不同的对象类型。 2.1、构成单位: 构成的单位主要包括接口:表示不同集合类型,是“集合”的基础;抽象类:对集合接口的部分实现。可扩展为自定义集合类;实现类:对接口的具体实现。 2.2、简单描述: Collection接口是一组允许重复的对象。 Iterator接口,接口方法能以迭代方式逐个访问集合中各个元素,并安全的从Collection 中除去适当的元素。 List接口,继承于collection,允许重复,以元素安插的顺序来放置元素,不会重新排列。 Set接口,继承于collection,但不允许重复,使用自己内部的排列机制。 Map接口是一组成对的键值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。 Comparator接口,当需要排序的集合或数组不是单纯的数字型时;可以使用Comparator或Comparable 注意:容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。 2.3、具体介绍: 2.3.1、Collection接口: 特点:用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。 方法:(1)单元素添加、删除操作:boolean add(Object o):将对象添加给集合boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o (2)查询操作:int size() :返回当前集合中元素的数量boolean isEmpty() :判断集合中是否有任何元素boolean contains(Object o) :查找集合中是否含有对象oIterator iterator() :返回一个迭代器,用来访问集合中的各个元素 注意:Collection不提供get()方法。如果要遍历Collectin中的元素,就必须用Iterator。 (3)组操作 :作用于元素组或整个集合boolean containsAll(Collection c): 查找集合中是否含有集合c 中所有元素boolean addAll(Collection c) : 将集合c 中所有元素添加给该集合void clear(): 删除集合中所有元素void removeAll(Collection c) : 从集合中删除集合c 中的所有元素void retainAll(Collection c) : 从集合中删除集合c 中不包含的元素 (4)Collection转换为Object数组 :Object toArray() :返回一个内含集合所有元素的arrayObject toArray(Object a) :返回一个内含集合所有元素的array。运行期返回的array和参数a的类型相同,否则需要转换为正确类型。 注意:以把集合转换成其它任何其它的对象数组。但是不能直接把集合转换成基本数据类型的数组,因为集合必须持有对象。 2.3.1、Iterator接口: 特点:Collection 接口的iterator()方法返回一个 Iterator。Iterator接口方法能以迭代方式逐个访问集合中各个元素,并安全的从Collection中除去适当的元素。 方法:(1)boolean hasNext(): 判断是否存在另一个可访问的元素 Object next(): 返回要访问的下一个元素。如果到达集合结尾,则抛出NoSuchElementException异常。 (2)void remove(): 删除上次访问返回的对象。本方法必须紧跟在一个元素的访问后执行。如果上次访问后集合已被修改,方法将抛出IllegalStateException。 注意:代器迭是“故障快速修复(fail-fast)”的。这意味着,当另一个线程修改底层集合的时候如果您正在用 Iterator 遍历集合,那么Iterator就会抛出 ConcurrentModificationException (另一种 RuntimeException异常)异常并立刻失败。 2.3.2、List接口: 特点:List 接口继承了 Collection 接口以定义一个允许重复项的有序集合。该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。 方法:(1)void add(int index, Object element): 在指定位置index上添加元素element boolean addAll(int index, Collection c): 将集合c的所有元素添加到指定位置index Object get(int index): 返回List中指定位置的元素 int indexOf(Object o): 返回第一个出现元素o的位置,否则返回-1 int lastIndexOf(Object o) :返回最后一个出现元素o的位置,否则返回-1 Object remove(int index):删除指定位置上的元素 Object set(int index, Object element) :用元素element取代位置index上的元素,并且返回旧的元素注意:面向位置的操作除了包括插入某个元素或 Collection 的功能,还包括获取、除去或更改元素的功能。在 List 中搜索元素可以从列表的头部或尾部 开始,如果找到元素,还将报告元素所在的位置。 (2)List 接口不但以位置序列迭代的遍历整个列表,还能处理集合的子集: ListIterator listIterator() : 返回一个列表迭代器,用来访问列表中的元素 ListIterator listIterator(int index) : 返回一个列表迭代器,用来从指定位置index开始访问列表中的元素 List subList(int fromIndex, int toIndex) :返回从指定位置fromIndex(包含)到toIndex(不包含)范围中各个元素的列表视图,对子列表的更改(如 add()、remove() 和 set() 调用)对底层 List 也有影响。注意:ListIterator 接口继承 Iterator 接口以支持添加或更改底层集合中的元素,还支持双向访问。ListIterator没有当前位置,光标位于调用previous和next方法返回的值之间。一个长度为n的列表,有n+1个有效索引值: 2.3.3、Set接口: 特点:接口继承 Collection 接口,而且它不允许集合中存在重复项,每个具体的 Set 实现类依赖添加的对象的 equals()方法来检查独一性。Set接口没有引入新方法,所以Set就是一个Collection,只不过其行为不同。 2.3.4、Map接口: 特点:Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/value pairs)。该接口描述了从不重复的键到值的映射。 方法:(1) 添加、删除操作: Object remove(Object key): 从映像中删除与key相关的映射 void putAll(Map t): 将来自特定映像的所有元素添加给该映像 void clear(): 从映像中删除所有映射注意:Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在,则返回null (2) 查询操作: boolean containsKey(Object key): 判断映像中是否存在关键字key boolean containsValue(Object value): 判断映像中是否存在值value int size(): 返回当前映像中映射的数量 boolean isEmpty() :判断映像中是否有任何映射 2.3.5、LinkedList类和ArrayList类: (1)LinkedList: 特点 :使用LinkedList 能更好地实现频繁的从列表的中间位置添加和除去元素。 方法: (1)void addFirst(Object o): 将对象o添加到列表的开头 void addLast(Object o):将对象o添加到列表的结尾 (2) Object getFirst(): 返回列表开头的元素 Object getLast(): 返回列表结尾的元素 (3) Object removeFirst(): 删除并且返回列表开头的元素 Object removeLast():删除并且返回列表结尾的元素 (4) LinkedList(): 构建一个空的链接列表 LinkedList(Collection c): 构建一个链接列表,并且添加集合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锡矿选矿厂生产调度与优化考核试卷
- 质检技术与质量风险分析考核试卷
- 隔音材料在酒店客房设计中的应用考核试卷
- 麻醉人力应急预案
- 怎样判断新生儿黄疸的程度轻重
- 常见疾病脐带护理
- 儿童饮用水卫生常识
- 金融机构风险管理数字化转型的法律法规与政策解读报告
- 虚拟现实(VR)设备在房地产营销中的创新策略与市场潜力分析报告
- 2025年零售电商行业社交电商发展趋势与案例分析
- 世界农业概论智慧树知到期末考试答案章节答案2024年西南大学
- 智慧旅游智慧树知到期末考试答案章节答案2024年浙江旅游职业学院
- 2024年演出经纪人考试必背1000题及完整答案(各地真题)
- 重力坝毕业设计
- DB11/1983-2022-建筑类涂料与胶粘剂挥发性有机化合物含量限值标准
- 网络购物顾客满意度研究以京东网上商城为例
- 2022-2023学年湖北省黄冈市武穴市七年级(下)期末历史试卷(含解析)
- 2024年江苏瑞海投资控股集团有限公司招聘笔试参考题库含答案解析
- 《眼球的结构与功能》课件
- 起重装卸服务创业计划书
- 中小学人工智能教育方案的培训与支持机制
评论
0/150
提交评论