Java-集合容器-1.集合框架、Set集.ppt

Java-集合容器-1.集合框架、Set集.ppt

ID:51643978

大小:2.09 MB

页数:24页

时间:2020-03-27

上传者:U-25935
Java-集合容器-1.集合框架、Set集.ppt_第1页
Java-集合容器-1.集合框架、Set集.ppt_第2页
Java-集合容器-1.集合框架、Set集.ppt_第3页
Java-集合容器-1.集合框架、Set集.ppt_第4页
Java-集合容器-1.集合框架、Set集.ppt_第5页
资源描述:

《Java-集合容器-1.集合框架、Set集.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

补充:集合容器类—集合框架、Set接口及其实现类1 本章学习目标重点、难点CompanyLogo重点HashSet和TreeSet的使用LinkedList及ArrayList使用HashMap、HashTable、TreeMap的使用难点LinkedList及ArrayList使用HashMap、HashTable的使用学习目标了解集合类的框架理解各类接口之间的关系掌握Set接口及相关类的使用掌握List接口及相关类的使用掌握Map接口及相关类的使用学习内容集合容器的框架结构相关接口和类之间的关系Set接口及其实现类的使用List接口及其实现类的使用Map接口及其实现类的使用 本次课学习内容及目标了解集合容器类了解相关通用接口Collection接口Iterator接口掌握Set集对应接口——Set接口掌握Set实现类的使用HashSetTreeSet3 引入问题引入:若要处理一组相同类型的已知数量的数据,则可以使用哪种结构?如:处理10个整型数据或一个班级30名同学数据等。若要处理一组不同类型的数据,数量未知,该用哪种结构描述?如:要存储2个整型、几个字符串、若干个Student数据实际应用:到超市买东西,购买不同商品,如何实现?4 一、集合与集合框架集合一个将多个元素组合进一个单元或容器的对象提供用于存储、获取和操作数据的方法“集合框架”(CollectionsFramework)提供一组接口和类,为数据结构中的各种类型提供一个方便操作的接口和类的API提供方便操作各种数据结构的方法集合框架主要包括集合容器—用于存储数据迭代器—用于获取数据算法—用于操作数据5集合:元素数据类型可以不同数组:元素数据类型相同 集合与集合框架集合框架优点高性能减少编程工作量精力集中于程序的重要部分通用性集合框架API,不同类型的集合以相似的方式进行操作可拓展性容易扩展和改变一个集合提供了将标准数据集成到集合框架中的机制6 集合框架图76个接口5个抽象类8个实现类MapCollectionSetIteratorListComparableHashSetHashMapArrayListLinkedList 二、集合分类在不同的组织方式中,主要有三种类型的集合,称作集(set)、序列(list)、映射(map)集:对象聚集,可以向集中增加对象,但不能有重复的对象序列:有序的对象聚集,对象按照一定的顺序存放,允许重复映射:映射的每一项都含有一对对象,每个对象都有一个与之相关联的键对象,键决定了对象在映射中的存储位置。映射中的键必须各不相同。8 各类集合容器图示943756141212K3->v2K1->v1K2->v1K4->v3集       列表     映射 Collection接口表示一组对象,有些允许重复,有些不允许,有些有序,有些无序Set接口继承Collection不允许重复List接口继承Collection允许重复,以元素安插的次序来放置元素,不会重新排列三、集合框架中的主要接口10CollectionSetListMapMap接口存放键-值对象不能有重复的key Collection接口Collection最基本的集合接口声明所有集合都将拥有的核心方法主要子接口Set–不包含重复元素List–按照添加顺序存储,可以包含重复元素11 Collection主要操作重要方法单元素添加、删除操作:booleanadd(Objecto):将对象添加给集合booleanremove(Objecto):如果集合中有与o对象,则删除组操作:作用于元素组或整个集合booleancontainsAll(Collectionc):查找集合中是否含有集合c中所有元素booleanaddAll(Collectionc):将集合c中所有元素添加给该集合voidclear():删除集合中所有元素voidremoveAll(Collectionc):从集合中删除集合c中的所有元素voidretainAll(Collectionc):从集合中删除集合c中不包含的元素12 Collection主要操作重要方法查询操作:intsize():返回当前集合中元素的数量booleanisEmpty():判断集合中是否有任何元素booleancontains(Objecto):查找集合中是否含有对象oIteratoriterator():返回一个迭代器,用来遍历集合中各元素Collection转换为Object数组:Object[]toArray():返回一个内含集合所有元素的arrayObject[]toArray(Object[]a):返回一个内含集合所有元素的array。返回的array和参数a的类型相同。13 三、Set接口及实现类Set接口特点:不允许包含相同的元素至多有一个null元素常用方法同Collection接口实现Set的类:HashSet无序–顺序可以改变快速-散列法使访问速度很快TreeSet有序–顺序是不变的,要么是升序要么是用户自定义顺序,因此使用的时候元素必须具有可比较性。14 HashSet类HashSet类主要实现Set接口元素无序,不能重复,类型无限制 课堂实践1创建一个容器对象,向容器中添加各种对象,并输出。参考示例:importjava.util.*; classHashSetDemo{ publicstaticvoidmain(Stringargs[]){//1.创建一个容器,类型为HashSet HashSeths=newHashSet();//2.向容器中添加元素hs.add("B"); hs.add("A"); hs.add("D"); hs.add(123);hs.add(0.23);hs.add(newCircle(3));//3.输出容器的元素System.out.println(hs);}} TreeSet类TreeSet主要实现Set接口和SortedSet接口,元素有序(自然顺序或提供的排序方式),不能重复,必须具有可比性示例:TreeSetts=newTreeSet();ts.add("zhangshan");ts.add(“lishi");ts.add(“wangwu");ts.add(“maliu");17 课堂实践21.创建TreeSet容器对象,向其中添加各种类型对象,并输出。2.若操作过程出现异常,考虑为什么会出现?该如何解决?3.总结TreeSet使用注意点 四、Set使用注意点如何保证加入的元素不重复?加入元素add(Objectobj)方法若容器中没有obj对象,则添加,返回true如果obj已经存在集合中,将返回false基本数据类型包装类和String类重写了equals()和hashcode()方法用户自己定义的类型需要重写equals()和hashcode()方法19 五、遍历元素—Iterator接口Iterator接口遍历集合中元素每个Collection都有iterator()方法,此方法返回Iterator对象重要方法Objectnext()//返回要访问的下一个对象booleanhasNext()//是否存在另一个需访问的元素,是返回truevoidremove()//删除上次调用next时返回的对象20 课堂实践3Iterator接口操作,对前面的HashSet和TreeSet两个容器中的元素进行迭代显示。参考示例:查看集合中的所有元素,可使用如下方法://获取迭代对象Iteratorit=c.iterator();while(it.hasNext())//判断是否还有元素{Objectobj=it.netx();//元素获取……}21 课后实践选用合适的set容器,模拟实现超市购物车功能,实现增加商品、移除商品、替换商品、查看商品功能。 小结Collection接口是根接口,主要的子接口为Set和List。对象一旦放入容器,则全部分看作为Object对象,若要指定某一类型,则须使用范型。Set主要两个实现类HashSet和TreeSetHashSet无序,无重复,类型无限制TreeSet有序,无重复,对象间具有可比性23 下课!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭