




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本章内容集合类概述Collection接口Iterator接口List和ListIterator接口ArrayList和LinkedList类泛型增强for循环和可变参数Set接口HashSet类Map接口HashMap和LinkedHashMap类Collections类集合类概述为什么出现集合类?面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java就提供了集合类。数组和集合类同是容器,有何不同?数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。集合类的特点集合只用于存储对象,集合长度是可变的,集合可以存储不同
2、类型的对象。Collection接口概述Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。Collection接口成员方法boolean add(E e)boolean remove(Object o)void clear()boolean contains(Object o)boolean isEmpty()int size()Collection接口成员方法boolean addAll(Colle
3、ction c)boolean removeAll(Collection c)boolean containsAll(Collection c)boolean retainAll(Collection c)Collection接口成员方法Object toArray()把集合转成数组,可以实现集合的遍历Iterator iterator()迭代器,集合的专用遍历方式Iterator接口概述和成员方法Iterator接口概述对 collection 进行迭代的迭代器依赖于集合而存在Iterator成员方法boolean hasNext()E next()List接口概述有序的 collectio
4、n(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,列表通常允许重复的元素。List接口成员方法void add(int index,E element)/插入E remove(int index)E get(int index)E set(int index,E element)/替换ListIterator listIterator()ListIterator接口的成员方法boolean hasNext()E next()常见数据结构栈先进后出,后进先出,进栈出栈队列先进先出
5、,后进后出数组查找快,增删慢链表查找慢,增删快树查找慢,增删快先序遍历,中序遍历,后序遍历哈希表 键值对结构,通过key那value数组的元素是单链表ArrayList类概述及使用ArrayList类概述底层数据结构是数组,查询快,增删慢线程不安全,效率高ArrayList案例存储字符串并遍历存储自定义对象并遍历LinkedList类概述及使用LinkedList类概述底层数据结构是链表,查询慢,增删快线程不安全,效率高LinkedList类特有功能public void addFirst(E e)及addLast(E e)public E getFirst()及getLast()public
6、 E removeFirst()及public E removeLast()LinkedList案例存储字符串并遍历存储自定义对象并遍历List集合练习ArrayList去除集合中字符串的重复值(字符串的内容相同)LinkedList去除集合中自定义对象的重复值(对象的成员变量值都相同)泛型概述及使用JDK1.5以后出现的机制为什么会有泛型呢?早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题。泛型应用泛型类把泛型定义在类上格式:public class 类名注意:泛型类型必须是引用类型泛型方法把泛型定
7、义在方法上格式:public 返回类型 方法名(泛型类型 .)泛型接口把泛型定义在接口上格式:public interface 接口名泛型高级(通配符)泛型通配符任意类型,如果没有明确,那么就是Object以及任意的Java类了? extends E向下限定,E及其子类? super E向上限定,E及其父类增强for概述及使用增强for概述简化数组和Collection集合的遍历格式:for(元素数据类型 元素名 : 数组或者Collection集合) 对元素进行你自己的操作好处:简化遍历注意事项:增强for的目标要判断是否为null把前面的集合代码的遍历用增强for改进可变参数概述及使用可变
8、参数概述定义方法的时候不知道该定义多少个参数格式修饰符 返回值类型 方法名(数据类型 变量名)注意:这里的变量其实是一个数组如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个Arrays工具类中的一个方法public static List asList(T. a)Set接口概述Set接口概述一个不包含重复元素的 collection。Set案例存储字符串并遍历存储自定义对象并遍历HashSet类概述HashSet类概述不保证 set 的迭代顺序特别是它不保证该顺序恒久不变。HashSet如何保证元素唯一性底层数据结构是哈希表(元素是链表的数组)哈希表依赖于哈希值存储添加功能
9、底层依赖两个方法:int hashCode()boolean equals(Object obj)LinkedHashSet类概述LinkedHashSet类概述元素有序唯一由链表保证元素有序由哈希表保证元素唯一Set集合练习HashSet集合存储自定义对象并遍历。如果对象的成员变量值相同即为同一个对象使用LinkedHashSet编写一个程序,获取10个1至20的随机数,要求随机数不能重复Map接口概述Map接口概述每个键最多只能映射到一个值key=valueMap是双列的,Collection是单列的Map的键唯一,Collection的子体系Set是唯一的Map集合的数据结构值针对键有效
10、,跟值无关 Collection集合的数据结构是针对元素有效Map接口成员方法V put(K key,V value)V remove(Object key)void clear()boolean containsKey(Object key)boolean containsValue(Object value)boolean isEmpty()int size()Map接口成员方法V get(Object key)Set keySet()Collection values()SetMap.Entry entrySet()Map集合遍历方式1:根据键找值获取所有键的集合遍历键的集合,获取到每一
11、个键根据键找值方式2:根据键值对对象找键和值获取所有键值对对象的集合遍历键值对对象的集合,获取到每一个键值对对象根据键值对对象找键和值HashMap类概述HashMap类概述键是哈希表结构,可以保证键的唯一性HashMap案例HashMapHashMapHashMapLinkedHashMap类概述Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。Map集合练习集合的嵌套遍历Map集合嵌套List集合Map集合嵌套Map集合List集合嵌套Map集合Collections类概述和成员方法Collections类概述针对集合操作 的工具类Collections成员方法public static void sort(List list) public static int binarySearc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南信息学院《基于python的财务大数据分析基础》2023-2024学年第二学期期末试卷
- 杭州科技职业技术学院《高分子膜材料》2023-2024学年第二学期期末试卷
- 山东电力高等专科学校《力学与工程》2023-2024学年第二学期期末试卷
- 教学设计-2023-2024学年心理健康五年级下册17《互帮互助人人乐》教学设计+教学设计教科版
- 中医护理特色课程设置
- 交流养成的好习惯(教学设计)-2024-2025学年一年级上册数学西师大版
- 2025年江苏建筑职业技术学院高职单招(数学)历年真题考点含答案解析
- 江苏省赣榆县智贤中学高三体育 乒乓球 握拍法 直拍和横拍教学设计
- 2024年药剂学应用题型分析试题及答案
- 保温产品购销合同范本
- 2025-2030全球及中国军事无线电系统行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 配电工程施工方案
- 2025年中国光纤放大器行业竞争格局及市场发展潜力预测报告
- 护理礼仪中的称呼礼仪
- 2025年浙江纺织服装职业技术学院单招职业适应性测试题库新版
- 2025年河南省安阳市安阳县九年级中考一模数学试题(原卷版+解析版)
- CNAS-CC190-2021 能源管理体系认证机构要求
- 2024年河北省普通高中学业水平选择性考试物理试题含答案
- Unit 4 Healthy food(说课稿)-2024-2025学年人教PEP版(2024)英语三年级下册
- 海棠河外来植物防治与红树林湿地恢复项目环评报告书
- 牧运通备案办理流程
评论
0/150
提交评论