版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
--List集合1.集合的概念以及API的使用2.Collection接口3.
迭代器Iterator接口4.List接口5.实现类ArrayList和LinkedList的使用集合的概念集合:JavaAPI所提供的一系列类的实例,可以用于动态存放多个对象。JDK所提供的集合API位于java.util包内。集合框架图JavaCollectionsFramework图如下JDK所提供的集合API位于java.util包内。集合框架图(简单)集合框架图(详细)Collection接口Collection接口中定义了一些集合常用方法方法说明int
size();
返回此collection中的元素数boolean
isEmpty();判断此collection中是否包含元素。boolean
contains(Object
obj);判断此collection是否包含指定的元素。boolean
add(Object
element);
向此collection中添加元素。boolean
remove(Object
element);
从此collection中移除指定的元素。voidclear();
移除些collection中所有的元素。Iterator
iterator();
返回在此collection的元素上进行迭代的迭代器Object[]
toArray();把此collection转成数组。集合中泛型的使用JDK1.4以前:装入集合的数据都会被当作Object对象来存放,从而失去了自己的实际类型。从集合中取出元素时,需要进行强制类型转换。效率低,容易产生错误。JDK5.0之后,可以用泛型来解决这个问题在定义一个集合时就指定集合存储的对象的数据类型如:Collection<String>
coll
=
new
ArrayList<String>();从集合中取出元素时,无需转型了。如:String
str1
=
it.next();集合中泛型的优点优点:简化集合的使用增强代码的可读性和稳定性意义:用于保护存入集合中元素的数据类型Iterator接口所有实现了Collection接口的集合类都有一个iterator()方法用以返回一个实现了Iterator接口的对象。Iteratorit=coll.iterator();Iterator迭代器的工作原理Iterator是专门的迭代输出接口。所谓的迭代输出就是将元素进行判断,判断是否有内容,如果有内容则把内容取出。Iterator对象称作迭代器,用以方便的实现对集合内元素的遍历操作。Iterator迭代器的使用方法Iterator接口中定义了如下方法:booleanhasNext();//判断游标右边是否有元素Objectnext();//返回游标右边的元素并将游标移动到下一个位置voidremove();//删除游标左面的元素元素1元素2元素3元素4元素5游标用forEach遍历集合中的元素凡是能用Iterator迭代的集合都可以用JDK5.0中增强的for循环来更简便的遍历。List接口List接口是Collection接口的子接口实现List接口的集合类中的元素是有序的,且允许重复。List集合中的元素都对应一个整数型的序号记载其在集合中的位置,可以根据序号存取集合中的元素。JDK
API所提供的List集合类常用的有ArrayListLinkedListVector(并不常用)List接口结构图List接口常用方法List接口比Collection接口中新增的几个实用方法:public
Objectget(intindex);返回列表中的元素数publicObjectadd(intindex,Objectelement);在列表的指定位置插入指定元素.将当前处于该位置的元素(如果有的话)和所有后续元素向右移动publicObjectset(int
index,Object
element);用指定元素替换列表中指定位置的元素publicObjectremove(int
index);移除列表中指定位置的元素publicListIteratorlistIterator()返回此列表元素的列表迭代器实现类——ArrayListArrayList是使用数组结构实现的List集合。优点:对于使用索引取出元素有较好的效率它使用索引来快速定位对象缺点:元素做删除或插入速度较慢因为使用了数组,需要移动后面的元素以调整索引顺序。实现类——LinkedListLinkedList是使用双向链表实现的集合。LinkedList新增了一些插入、删除的方法。优点:对频繁的插入或删除元素有较好的效率适合实现栈(Stack)和队列(Queue)栈(Stack)和队列(Queue)栈(Stack)的存储特点:LIFO后进先出(lastinfirstout)队列(Queue)的存储特点:FIFO先进先出(firstinfirstout)向量Vector(了解)旧版的ArrayList,它大多数操作跟ArrayList相同,区别之处在于Vector是线程同步的。它有一枚举方式可以类似Iterator进行遍历访问:importjava.util.Vector;importjava.util.Enumeration;publicclassVectorTest{ publicstaticvoidmain(String[]args){ Vector<String>v=newVector<String>(); v.add("向量"); v.add("123"); v.add("abc"); Enumeration<String>e=v.elements(); while(e.hasMoreElements()){ System.out.println("---"+e.nextElement()); } }}总结Collection接口的使用List接口中的常用方法ArrayList和LinkedList实现类的使用预习与作业预习内容Set集合作业1.创建一个User类,用于name,password两个成员变量。在主函数中使用for循环创建10个User对象,并对成员变量赋值,在for循环
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湛江市公安局霞山分局关于第三次招聘警务辅助人员的备考题库及一套答案详解
- 宜春市教体局直属学校面向2026届高校毕业生招聘教师25人备考题库参考答案详解
- 2025至2030中国宠物医疗行业市场分析与投资战略规划报告
- 2025-2030中国氯烟酸市场供需调查分析与投资运行状况监测研究报告
- 2025至2030消费者情感诉求对礼品包装设计创新的影响机制研究报告
- 中国社会科学院中国边疆研究所2026年非事业编制人员招聘备考题库及完整答案详解1套
- 2025至2030中国装配式建筑行业发展驱动因素与政策支持研究报告
- 五峰土家族自治县2026年“招才兴业”事业单位人才引进公开招聘备考题库中南财经政法大学站及一套答案详解
- 2025-2030中国空心轴行业供需现状与前景趋势研究研究报告
- 中国铁路集团有限公司2026年招聘1784人备考题库及完整答案详解一套
- 申论范文宝典
- 【一例扩张型心肌病合并心力衰竭患者的个案护理】5400字【论文】
- 四川桥梁工程系梁专项施工方案
- 贵州省纳雍县水东乡水东钼镍矿采矿权评估报告
- GB.T19418-2003钢的弧焊接头 缺陷质量分级指南
- 污水管网监理规划
- GB/T 35273-2020信息安全技术个人信息安全规范
- 2023年杭州临平环境科技有限公司招聘笔试题库及答案解析
- 《看图猜成语》课件
- LF炉机械设备安装施工方案
- 企业三级安全生产标准化评定表(新版)
评论
0/150
提交评论