已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
补充 集合容器类 集合框架 Set接口及其实现类 1 本章学习目标重点 难点 CompanyLogo 本次课学习内容及目标 了解集合容器类了解相关通用接口Collection接口Iterator接口掌握Set集对应接口 Set接口掌握Set实现类的使用HashSetTreeSet 3 引入 问题引入 若要处理一组相同类型的已知数量的数据 则可以使用哪种结构 如 处理10个整型数据或一个班级30名同学数据等 若要处理一组不同类型的数据 数量未知 该用哪种结构描述 如 要存储2个整型 几个字符串 若干个Student数据实际应用 到超市买东西 购买不同商品 如何实现 4 一 集合与集合框架 集合一个将多个元素组合进一个单元或容器的对象提供用于存储 获取和操作数据的方法 集合框架 CollectionsFramework 提供一组接口和类 为数据结构中的各种类型提供一个方便操作的接口和类的API提供方便操作各种数据结构的方法集合框架主要包括集合容器 用于存储数据迭代器 用于获取数据算法 用于操作数据 5 集合 元素数据类型可以不同数组 元素数据类型相同 集合与集合框架 集合框架优点高性能减少编程工作量精力集中于程序的重要部分通用性集合框架API 不同类型的集合以相似的方式进行操作可拓展性容易扩展和改变一个集合提供了将标准数据集成到集合框架中的机制 6 集合框架图 7 6个接口5个抽象类8个实现类 二 集合分类 在不同的组织方式中 主要有三种类型的集合 称作集 set 序列 list 映射 map 集 对象聚集 可以向集中增加对象 但不能有重复的对象序列 有序的对象聚集 对象按照一定的顺序存放 允许重复映射 映射的每一项都含有一对对象 每个对象都有一个与之相关联的键对象 键决定了对象在映射中的存储位置 映射中的键必须各不相同 8 各类集合容器图示 9 集列表映射 Collection接口表示一组对象 有些允许重复 有些不允许 有些有序 有些无序Set接口继承Collection不允许重复List接口继承Collection允许重复 以元素安插的次序来放置元素 不会重新排列 三 集合框架中的主要接口 10 Collection Set List Map Map接口存放键 值对象不能有重复的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 创建一个容器 类型为HashSetHashSeths 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 课堂实践2 1 创建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 课堂实践3 Iterator接口操作 对前面的HashSet和TreeSet两个容器中的元素进行迭代显示 参考示例 查看集合中的所有元素 可使用如下方法 获取迭代对象Iteratorit c iterator while it hasNext 判断是否还有元素 Objectobj x 元素获取 21 课后实践 选用合适的set容器 模拟实现超市购物车功能 实现增加商品 移除商品 替换商品 查看商品功能 小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品研发流程标准化模板从立项到试产阶段
- 生产现场安全管理检查清单版
- 古诗词诵读《登岳阳楼》课件-2025-2026学年统编版高一语文必修下册
- 2026届山西省阳泉市第十一中学化学高一第一学期期末联考试题含解析
- 2025年福建省公务员考试公共基础知识模拟试卷(含答案)
- 2025年高血压健康管理理论知识考核试题及答案
- 护理科研选题与临床问题转化技巧
- 避免干眼加重的日常护理禁忌
- 永州市重点中学2026届化学高二第一学期期末监测模拟试题含答案
- 特殊时段(如夜间)护理巡视的重点与难点
- (2025年)《成本会计》期末测试试卷及答案
- 预防地震安全教育课件
- (2025年)广东省公务员《申论(省市级)》试题真题及答案
- 2025江西赣州全南县旅游发展投资集团有限公司招聘1人笔试历年典型考点题库附带答案详解试卷3套
- 管理晋升述职述能报告
- 2025年邯郸市事业单位考试真题及答案
- 《煤矿安全规程》2025版
- 红头文件编号登记表
- 管道试压记录
- T_ZSSP 0005-2022 方便食品(速食汤、羹)
- 下面是常见的2500个汉字中的平舍音翘舌音
评论
0/150
提交评论