版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章集合案例7-1Collection接口对集合的操作一、案例描述1、考核知识点编号:00107002名称:Collection接口2、练习目标掌握Collection接口中方法的使用3、需求分析Collection是所有单列集合的父接口,在Collection中定义了单列集合List和Set通用的一些方法.为了让初学者熟悉Collection接口中的常用方法,本案例将演示Collection接口中的方法对集合进行操作来学习方法的使用.4、设计思路实现原理1编写一个类Example012在类中定义两个Collection集合,并向其中一个集合中添加数据3用Collection接口中的方法对定
2、义的两个集合进行各种操作、案例实现import.*;publicclassExample01publicstaticvoidmain(String口args);语句导包,否那么程序将会编译失败,显示类找不到.案例7-2List接口的特有方法一、案例描述1、考核知识点编号:00107003名称:List接口2、练习目标掌握List接口的常用方法的使用3、需求分析List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法.为了熟悉List接口中特有方法的使用,本案例将演示使用List接口中的方法对List集合进行添
3、加、修改等操作.4、设计思路实现原理1编写一个类Example022在类中定义两个list集合,并向其中一个集合中添加数据.3)用subList(intfromlndex,inttoIndex)方法获取集合的一局部4)用set(intindex,Eelement)方法修改一个元素5)用add(intindex,Eelement)方法增加一个元素、案例实现import.*;publicclassExample02publicstaticvoidmain(String口args)Listlist=newArrayList();(abc1);publicclassExample03publicsta
4、ticvoidmain(String口args)ArrayListarray=newArrayList();(lisi);(wangwu);(jordan);(jackson);(white);;第2个元素是:+(1);)运行结果如图7-4所示.图7-1运行结果三、案例总结1、在ArrayList内部封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组.2、索引位置为1的元素是集合中的第二个元素,这就说明集合和数组一样,索引的取值范围是从0开始的,最后一个索引是size-1
5、,在访问元素时一定要注意索引不可超出此范围,否那么会抛出角标越界异常IndexOutOfBoundsException.3、由于ArrayList集合的底层是使用一个数组来保存元素,在增加或删除指定位置的元素时,会导致创立新的数组,效率比拟低,因此不适合做大量的增删操作.但这种数组的结构允许程序通过索引的方式来访问元素,因此使用ArrayList集合查找元素很便捷.案例7-4LinkedList集合的特殊方法一、案例描述1、考核知识点编号:00107005名称:LinkedList集合了解LinkedList集合的特点掌握LinkedList集合的特殊方法的使用3、需求分析ArrayList集
6、合在查询元素时速度很快,但在增删元素时效率较低,为了克服这种局限性,可以使用List接口的另一个实现类LinkedList.LinkedList集合除了对于元素的增删操作具有很高的效率,还专门针对元素的增删操作定义了一些特有的方法.为了熟悉这些特殊的方法,本案例将演示如何使用LinkedList中的特殊方法对集合进行增删操作.4、设计思路(实现原理)1)编写一个类Example04,在该类中定义一个LinkedList集合2)分别使用addFirst()和addLast()方法向集合中添加元素3)使用peekFirst()方法获取集合中的第一个元素4)使用pollFirst()方法获取并移除集
7、合中的第一个元素5)使用pollLast()方法获取并移除集合中的最后一个元素6)此时,集合中应该没有元素了,用peekLast()方法获取集合中的最后一个元素,由于集合为空,应该返回NULL、案例实现import.*;publicclassExample04publicstaticvoidmain(String口args)LinkedListlink=newLinkedList();(abc1);publicclassExample05publicstaticvoidmain(String口args)Listlist=newArrayList();(abc1);publicclassExam
8、ple06publicstaticvoidmain(Stringargs);publicclassExample07publicstaticvoidmain(Stringargs)Listlist=newArrayList();(abc1);(abc2);(abc3);(abc4);ListIteratorlit=();while()Objecto=();quals(o)(abc5);Vectorv=newVector();publicclassExample09publicstaticvoidmain(Stringargs);publicclassExample10publicstaticv
9、oidmain(Stringargs);publicclassExample11publicstaticvoidmain(Stringargs)TreeSetts=newTreeSet();publicclassExample13publicstaticvoidmain(Stringargs)4)值林志颖在集合中存在,所以输出true.5)由于集合不为空,所以()返回false.案例7-14遍历Map中所有的键值一、案例描述1、考核知识点编号:00107014名称:HashMap集合2、练习目标掌握遍历Map中所有的键值两种方法3、需求分析在程序开发中,经常需要取出Map中所有的键和值.为了让
10、大家熟悉遍历Map中所有的键值,本案例将演示遍历Map中所有的键值对的两种遍历方式.4、设计思路实现原理1编写类Example14,在该类中创立Map集合并向集合中添加元素2使用第一种方式,遍历集合元素,先获取键的集合,再获取键所对应的值3使用第二种方式,先获取集合中键值对映射关系,再从映射关系中获得键和值、案例实现import.*;publicclassExample14publicstaticvoidmain(String口args);publicclassExample15publicstaticvoidmain(String口args)Strings=cbxzbvavdvgd;ppen
11、d().append(i).append();Stringresult=();运行结果如图7-20所示.图7-2运行结果三、案例总结HashMap相同.从输出结果可以看1、在本案例中,演示了TreeMap集合中元素的存储和迭代方法与TreeMap中是通出,TreeMap集合中的元素是不重复的,并且根据值的自然顺序进行了排序.这是由于在过二叉树的原理来保证键的唯一性,这个TreeSet集合存储的原理一样,因此TreeMap中所有的键是根据某种顺序排列的.2、本案例中,在定义TreeMap集合时使用了泛型,即参数化类型.它可以指定该类中方法操作的数据类型,防止在集合存取时会产生的数据类型转化的错误
12、.案例7-16Proeprties集合的功能一、案例描述1、考核知识点编号:00107016名称:Proeprties集合2、练习目标掌握Proeprties集合的存储和遍历方法3、需求分析Map接口中还有一个实现类Hashtable,它和HashMap的区别是Hashtable是线程平安的.Hashtable类有一个子类Properties在实际应用中非常重要,Properties主要用来存储字符串类型的键和值,为了掌握Properties集合的使用,本案例将演示Properties集合中元素的存储,修改和遍历.4、设计思路实现原理1编写一个类Example16,创立Proeprties集合
13、对象2向Proeprties集合中添加元素3遍历Proeprties集合中的元素二、案例实现import.*;publicclassExample16publicstaticvoidmainString口argspublicclassExample17publicstaticvoidmain(Stringargs)publicclassExample18publicstaticvoidmain(Stringargs).elements)将所有指te兀素添加到指tecollection中staticvoidreverse(Listlist)反转指定List集合中元素的顺序staticvoidsh
14、uffle(Listlist)对List集合中的元素进行随机排序模拟玩扑克中的“洗牌staticvoidsort(Listlist)根据元素的自然顺序对List集合中的元素进行排序staticvoidswap(Listlist,inti,intj)将指定List集合中i处元素和j处元素进行交换staticintbinarySearch(Listlist,Objectkey)使用二分法搜索指定对象在List集合中的索引,查找的List集合中的元素必须是有序的staticObjectmax(Collectioncol)根据元素的自然顺序,返回给定集合中最大的元素staticObjectmin(Co
15、llectioncol)根据元素的自然顺序,返回给定集合中最小的元素staticbooleanreplaceAll(Listlist,ObjectoldVal,ObjectnewVal)用一个新的newVal替换List集合中所有的旧值oldVal案例7-19Arrays类对数组的操作、案例描述1、考核知识点编号:00107020名称:Arrays工具类掌握如何使用Arrays工具类对数组进行操作3、需求分析Arrays是一个专门用于操作数组的工具类,其中提供了大量的静态方法.为了让初学者能熟悉Arrays类中方法的功能和使用,本案例将使用Arrays类中的各种方法对数据进行操作,来学习Arr
16、ays工具类对数组进行排序、转换等操作.4、设计思路(实现原理)1)编写一个类Example21,在该类中定义一个数组2)用Arrays类中的sort()方法对数组进行排序3)用toString()方法将数组转换成字符串,并输出4)用asList()方法将数组转换成集合、案例实现import.*;publicclassExample19publicstaticvoidmain(String口args)Integer口arr=3,1,6,34,78,9;/对数组排序(arr);/将排序后的数组转换成字符串打印出来排序后的数组:+(arr);/将数组转换成集合Listarray=(arr);“数组转换成集合后:+array);运行结果如图7-25所示.图7-3运行结果三、案例总结1、本案例中,使用Arrays的sort()方法时只需要将数组做为参数传递给sort()方法就可以,至于内部是怎么进行排序的我们无需关心.可见使用这个方法不仅可以大大减少代码的书写量,而且操作简单.使用A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大型养老院地面压路机施工合同
- 桥梁引道路基施工协议
- 软件开发外委施工合同
- 2024年建筑安装:钢结构施工劳务合同
- 教育辅导老师工友劳动合同
- 建筑涂料系统监理合同协议
- 航空航天工程总承包协议
- 化妆品企业薪酬管理实践
- 污水管网监测系统安装合同
- 有关销售内勤年度工作计划5篇
- CPK与CP详细讲解资料(课堂PPT)
- 光动力治疗在气道肿瘤中的临床应用课件
- 小学语文人教三年级上册 群文阅读《奇妙的中心句》
- 大数据和人工智能知识考试题库600题(含答案)
- 2023年上海机场集团有限公司校园招聘笔试题库及答案解析
- 镜头的角度和方位课件
- 污水处理常用药剂简介知识讲解课件
- 五年级上册英语课件-Unit 1《My future》第1课时牛津上海版(三起) (共28张PPT)
- 光交接箱施工规范方案
- 气温和降水学案
- 普及人民代表大会制度知识竞赛试题库(1000题和答案)
评论
0/150
提交评论