集合

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Chapter1List、Map是否都继承自Collection接口?和数组采用相同存储结构的集合类型是什么?Iterator接口的作用是什么?Chapter2本章目标掌握集合框架包含的内容掌握ArrayList和LinkedList的使用掌握HashMap的使用掌握Iterator的使用掌握泛型集合的使用Chapter31接口CollectionListMap2具体类ArrayListLinkedListHashMap3算法Java集合框架为我们提供了一套性能优良、使用方便的接口和类,它们位于java.util包中我们不必再重新发明轮子,只需学会如何使用它们,就可处理实际应用中问题Collections提供了对集合进行排序、遍历等多种算法实现Java集合框架包含的内容2-1SetTreeSetHashSetTreeMapChapter4Java集合框架包含的内容2-2Collection接口存储一组不唯一,无序的对象List接口存储一组不唯一,有序(插入顺序)的对象Set接口存储一组唯一,无序的对象Map接口存储一组键值对象,提供key到value的映射CollectionListMapSetChapter5List接口的实现类ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高LinkedList采用链表存储方式。插入、删除元素时效率比较高ListArrayListLinkedListChapter6ArrayList集合类5-1存储多条狗狗信息,获取狗狗总数,逐条打印出各条狗狗信息通过List接口的实现类ArrayList实现该需求元素个数不确定要求获得元素的实际个数按照存储顺序获取并打印元素信息Chapter7ArrayList集合类5-2publicclassTest1{publicstaticvoidmain(String[]args){DogououDog=newDog(欧欧,雪娜瑞);DogyayaDog=newDog(亚亚,拉布拉多);DogmeimeiDog=newDog(美美,雪娜瑞);DogfeifeiDog=newDog(菲菲,拉布拉多);Listdogs=newArrayList();dogs.add(ououDog);dogs.add(yayaDog);dogs.add(meimeiDog);dogs.add(2,feifeiDog);//添加feifeiDog到指定位置System.out.println(共计有+dogs.size()+条狗狗。);System.out.println(分别是:);for(inti=0;idogs.size();i++){Dogdog=(Dog)dogs.get(i);System.out.println(dog.getName()+\t+dog.getStrain());}}}创建ArrayList对象并把四个狗狗对象放入其中输出狗狗的数量获取第i个元素演示示例:使用ArrayList集合类Chapter8ArrayList集合类5-3扩充以下几部分功能删除指定位置的狗狗,如第一个狗狗删除指定的狗狗,如删除feifeiDog对象判断集合中是否包含指定狗狗List接口提供相应方法remove()、contains(),直接使用即可Chapter9ArrayList集合类5-4publicclassTest2{publicstaticvoidmain(String[]args){//1、创建多个狗狗对象…//2、创建ArrayList集合对象并把多个狗狗对象放入其中…System.out.println(删除之前共计有+dogs.size()+条狗狗。);dogs.remove(0);dogs.remove(feifeiDog);System.out.println(\n删除之后还有+dogs.size()+条狗狗。);…if(dogs.contains(meimeiDog))System.out.println(\n集合中包含美美的信息);elseSystem.out.println(\n集合中不包含美美的信息);}}删除第一个狗狗和feifeiDog判断是否包含指定狗狗演示示例:使用ArrayList集合类Chapter10ArrayList集合类5-5List接口常用方法方法名说明booleanadd(Objecto)在列表的末尾顺序添加元素,起始索引位置从0开始voidadd(intindex,Objecto)在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间intsize()返回列表中的元素个数Objectget(intindex)返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换booleancontains(Objecto)判断列表中是否存在指定元素booleanremove(Objecto)从列表中删除元素Objectremove(intindex)从列表中删除指定位置元素,起始索引位置从0开始Chapter11练习——添加多个企鹅信息到List中需求说明:把多个企鹅的信息添加到集合中查看企鹅的数量遍历所有企鹅的信息删除集合中部分企鹅的元素判断集合中是否包含指定企鹅Chapter12LinkedList集合类3-1在集合任何位置(头部、中间、尾部)添加、获取、删除狗狗对象插入、删除操作频繁时,可使用LinkedList来提高效率LinkedList还额外提供对头部和尾部元素进行添加和删除操作的方法Chapter13LinkedList集合类3-2publicclassTest3{publicstaticvoidmain(String[]args){…//创建多个狗狗对象LinkedListdogs=newLinkedList();dogs.add(ououDog);dogs.add(yayaDog);dogs.addLast(meimeiDog);dogs.addFirst(feifeiDog);DogdogFirst=(Dog)dogs.getFirst();System.out.println(第一条狗狗昵称是+dogFirst.getName());DogdogLast=(Dog)dogs.getLast();System.out.println(最后一条狗狗昵称是+dogLast.getName());dogs.removeFirst();dogs.removeLast();…}}创建LinkedList集合对象并把多个狗狗对象放入其中获取第一条狗狗信息获取最后一条狗狗信息删除第一个狗狗和最后一个狗狗演示示例:使用LinkedList集合类Chapter14LinkedList集合类3-3LinkedList的特殊方法方法名说明voidaddFirst(Objecto)在列表的首部添加元素voidaddLast(Objecto)在列表的末尾添加元素ObjectgetFirst()返回列表中的第一个元素ObjectgetLast()返回列表中的最后一个元素ObjectremoveFirst()删除并返回列表中的第一个元素ObjectremoveLast()删除并返回列表中的最后一个元素Chapter15小结集合框架有何好处?Java集合框架中包含哪些接口和哪些类?ArrayList和LinkedList有何异同?用纸笔绘制List接口和两个实现类的类图Chapter16Map接口3-1建立国家英文简称和中文全名间的键值映射,并通过key对value进行操作,应该如何实现数据的存储和操作呢?Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作最常用的实现类是HashMapChapter17Map接口3-2publicclassTest4{publicstaticvoidmain(String[]args){Mapcountries=newHashMap();countries.put(CN,中华人民共和国);countries.put(RU,俄罗斯联邦);countries.put(FR,法兰西共和国);countries.put(US,美利坚合众国);Stringcountry=(String)countries.get(CN);System.out.println(CN对应的国家是:+country);System.out.println(Map中共有+countries.size()+组数据);countries.remove(FR);System.out.println(Map中包含FR的key吗?+countries.containsKey(FR));System.out.println(countries.keySet());System.out.println(countries.values());System.out.println(countries);}}使用HashMap存储多组键值对获取Map元素个数删除指定元素,判断是否包含指定元素显示键集、值集和键值对集获取指定元素的值Chapter18Map接口3-3Map接口常用方法方法名说明Objectput(Objectkey,Objectval)以“键-值对”的方式进行存储Objectget(Objectkey)根据键返回相关联的值,如果不存在指定的键,返回nullObjectremove(Objectkey)删除由指定的键映射的“键-值对”intsize()返回元素个数SetkeySet()返回键的集合Collectionvalues()返回值的集合booleancontainsKey(Objectkey)如果存在由指定的键映射的“键-值对”,返回trueChapter19集合类对比Vector和ArrayList的异同实现原理相同,功能相同,很多情况下可以互用两者的主要区别如下Vector线程安全,ArrayList重速度轻安全,线程非安全长度需增长时,Vector默认增长一倍,ArrayList增长50%Hashtable和HashMap的异同实现原理相同,功能相同,在很多情况下可以互用两者的主要区别如下Hashtable继承Dictionary类,HashMap实现Map接口Hashtable线程安全,HashMap线程非安全Hashtable不允许null值,HashMap允许null值开发过程中,最好使用ArrayList和HashMapChapter20练习——根据宠物昵称查找宠物需求说明:根据宠物昵称查找对应宠物,如果找到,显示宠物信息,否则给出错误提示完成时间:15分钟Chapter21共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解Chapter22迭代器Iterator2-1如何遍历List集合呢?方法1:通过for循环和get()方法配合实现遍历方法2:通过迭代器Iterator实现遍历所有集合接口和类都没有提供相应遍历方法,而是由Iterator实现集合遍历Collection接口的iterate()方法返回一个Iterator,然后通过Iterator接口的两个方法可实现遍历booleanhasNext():判断是否存在另一个可访问的元素Objectnext():返回要访问的下一个元素Chapter23迭代器Iterator2-2publicclassTest5{publicstaticvoidmain(String[]args){//1、创建多个狗狗对象DogououDog=newDog(欧欧,雪娜瑞);…//2、创建ArrayList集合对象并把多个狗狗对象放入其中Listdogs=newArrayList();dogs.add(ououDog);…System.out.print

1 / 29
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功