集合框架复习二

来源:互联网 发布:刘远原画网络班 编辑:程序博客网 时间:2024/06/05 16:44

List 接口:
1.迭代删除指定元素
这里写图片描述

2 小知识:会报出:IndexOutOfBoundsException 异常
这里写图片描述

3:小知识,LinkedList定义了自己的一些方法,addFirst(),addLast(),removeFirst(),removeLast()
这里写图片描述
解释:关于多态的知识,当父类引用指向子类实例,父类引用不能调用子类特有的方法

Map 接口:

一 HashMap
1.HashMap类实现Map接口:基于哈希表,允许null键和null值

2.类似数组链表结构 根据函数算得放进去的键值对的链表数组下标

3.散列映射不保证元素顺序

4.当键值对所对应的下标相同,新的元素放在原来的位置上,原来位置上的就链接在新元素对应的下标下

5.当hashMap存放对象类型的键时:
这里写图片描述
王五所对应的键不会覆盖张三所对应的键得值,对象不同虽然键new的对象里面传入的值相同,但不是同一个对象
想要它覆盖就得在People类中重写hashCode()和equals()两个方法(鼠标右键,source)

这里写图片描述
当传的是字符串new的对象时,它会覆盖,不能认为,String的值不会改变,每次改变string的值都是创建了新的String对象,但是记住String是特殊的值传递,所以Map中的键是对应String的值,而不像引用类型传的是地址

6.从HashMap 获取不存在键时,对应的值为null,不会抛空指针异常

7。小案例:统计数组的值出现个数
这里写图片描述
二 TreeMap
1.红黑树(二叉树)实现Map接口,它的元素按关键字升序排序,不能null键

当传的是对象时,需要进行比较:
(1) 在对象类实现Comparable接口,重写compareTo()方法:列如进行年龄先比较,相同时比较名字,按字母顺序
这里写图片描述
(2) TreeMap 有一个带参数的构造函数
这里写图片描述

Set接口:最多包含一个null元素,无序不重复,不保证迭代顺序

一: HashSet:基于哈希表,底层是HashMap,只操作HashMap的键,重复的值,后面的不会添加进去,不报错,add(已有元素)返回false

二: TreeSet:基于树,底层是TreeMap,快速检索排序大量数据

Collection是集合接口
Collections是类,提供了很多静态方法,为list,set等实现类服务,类似于Arrays类为数组服务。

原创粉丝点击