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

上传人:小飞机 文档编号:6509180 上传时间:2023-11-07 格式:PPT 页数:24 大小:1.05MB
返回 下载 相关 举报
Java-集合容器-1.集合框架、Set集.ppt_第1页
第1页 / 共24页
Java-集合容器-1.集合框架、Set集.ppt_第2页
第2页 / 共24页
Java-集合容器-1.集合框架、Set集.ppt_第3页
第3页 / 共24页
Java-集合容器-1.集合框架、Set集.ppt_第4页
第4页 / 共24页
Java-集合容器-1.集合框架、Set集.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《Java-集合容器-1.集合框架、Set集.ppt》由会员分享,可在线阅读,更多相关《Java-集合容器-1.集合框架、Set集.ppt(24页珍藏版)》请在三一办公上搜索。

1、补充:集合容器类,集合框架、Set接口及其实现类,1,本章学习目标 重点、难点,Company Logo,本次课学习内容及目标,了解集合容器类了解相关通用接口Collection接口Iterator接口掌握Set集对应接口Set接口掌握Set实现类的使用HashSetTreeSet,3,引入,问题引入:若要处理一组相同类型的已知数量的数据,则可以使用哪种结构?如:处理10个整型数据或一个班级30名同学数据等。若要处理一组不同类型的数据,数量未知,该用哪种结构描述?如:要存储2个整型、几个字符串、若干个Student数据实际应用:到超市买东西,购买不同商品,如何实现?,4,一、集合与集合框架,集

2、合一个将多个元素组合进一个单元或容器的对象提供用于存储、获取和操作数据的方法“集合框架”(Collections Framework)提供一组接口和类,为数据结构中的各种类型提供一个方便操作的接口和类的API提供方便操作各种数据结构的方法集合框架主要包括集合容器用于存储数据迭代器用于获取数据算法用于操作数据,5,集合:元素数据类型可以不同数组:元素数据类型相同,集合与集合框架,集合框架优点高性能减少编程工作量 精力集中于程序的重要部分通用性集合框架API,不同类型的集合以相似的方式进行操作可拓展性容易扩展和改变一个集合提供了将标准数据集成到集合框架中的机制,6,集合框架图,7,6个接口5个抽象

3、类8个实现类,二、集合分类,在不同的组织方式中,主要有三种类型的集合,称作集(set)、序列(list)、映射(map)集:对象聚集,可以向集中增加对象,但不能有重复的对象序列:有序的对象聚集,对象按照一定的顺序存放,允许重复映射:映射的每一项都含有一对对象,每个对象都有一个与之相关联的键对象,键决定了对象在映射中的存储位置。映射中的键必须各不相同。,8,各类集合容器图示,9,集列表 映射,Collection 接口 表示一组对象,有些允许重复,有些不允许,有些有序,有些无序Set 接口继承 Collection不允许重复List 接口继承 Collection允许重复,以元素安插的次序来放置

4、元素,不会重新排列,三、集合框架中的主要接口,10,Collection,Set,List,Map,Map接口存放键值对象不能有重复的key,Collection接口,Collection最基本的集合接口声明所有集合都将拥有的核心方法主要子接口Set 不包含重复元素List 按照添加顺序存储,可以包含重复元素,11,Collection主要操作,重要方法单元素添加、删除操作:boolean add(Object o):将对象添加给集合boolean remove(Object o):如果集合中有与o对象,则删除组操作:作用于元素组或整个集合boolean containsAll(Collect

5、ion c):查找集合中是否含有集合c 中所有元素boolean addAll(Collection c):将集合c 中所有元素添加给该集合void clear():删除集合中所有元素void removeAll(Collection c):从集合中删除集合c 中的所有元素void retainAll(Collection c):从集合中删除集合c 中不包含的元素,12,Collection主要操作,重要方法查询操作:int size():返回当前集合中元素的数量boolean isEmpty():判断集合中是否有任何元素boolean contains(Object o):查找集合中是否含有

6、对象oIterator iterator():返回一个迭代器,用来遍历集合中各元素Collection转换为Object数组:Object toArray():返回一个内含集合所有元素的arrayObject toArray(Object a):返回一个内含集合所有元素的array。返回的array和参数a的类型相同。,13,三、Set接口及实现类,Set接口特点:不允许包含相同的元素至多有一个null元素常用方法同Collection接口实现Set的类:HashSet无序 顺序可以改变快速-散列法使访问速度很快TreeSet有序 顺序是不变的,要么是升序要么是用户自定义顺序,因此使用的时候元

7、素必须具有可比较性。,14,HashSet类,HashSet类主要实现Set接口元素无序,不能重复,类型无限制,课堂实践1,创建一个容器对象,向容器中添加各种对象,并输出。参考示例:import java.util.*;class HashSetDemo public static void main(String args)/1.创建一个容器,类型为HashSet HashSet hs=new HashSet();/2.向容器中添加元素 hs.add(B);hs.add(A);hs.add(D);hs.add(123);hs.add(0.23);hs.add(new Circle(3);/3

8、.输出容器的元素 System.out.println(hs);,TreeSet类,TreeSet主要实现Set接口和SortedSet接口,元素有序(自然顺序或提供的排序方式),不能重复,必须具有可比性 示例:TreeSet ts=new TreeSet();ts.add(zhangshan);ts.add(“lishi);ts.add(“wangwu);ts.add(“maliu);,17,课堂实践2,1.创建TreeSet容器对象,向其中添加各种类型对象,并输出。2.若操作过程出现异常,考虑为什么会出现?该如何解决?3.总结TreeSet使用注意点,四、Set使用注意点,如何保证加入的元

9、素不重复?加入元素 add(Object obj)方法若容器中没有obj对象,则添加,返回true如果obj已经存在集合中,将返回false基本数据类型包装类和String类重写了equals()和hashcode()方法用户自己定义的类型需要重写equals()和hashcode()方法,19,五、遍历元素Iterator接口,Iterator接口遍历集合中元素每个 Collection 都有iterator()方法,此方法返回Iterator对象重要方法Object next()/返回要访问的下一个对象boolean hasNext()/是否存在另一个需访问的元素,是返回truevoid

10、remove()/删除上次调用next时返回的对象,20,课堂实践3,Iterator接口操作,对前面的HashSet和TreeSet两个容器中的元素进行迭代显示。参考示例:查看集合中的所有元素,可使用如下方法:/获取迭代对象Iterator it=c.iterator();while(it.hasNext()/判断是否还有元素 Object obj=x();/元素获取,21,课后实践,选用合适的set容器,模拟实现超市购物车功能,实现增加商品、移除商品、替换商品、查看商品功能。,小结,Collection接口是根接口,主要的子接口为Set和List。对象一旦放入容器,则全部分看作为Object对象,若要指定某一类型,则须使用范型。Set主要两个实现类HashSet和TreeSetHashSet无序,无重复,类型无限制TreeSet有序,无重复,对象间具有可比性,23,下课!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号