标签:
1.记住两张图(一张是接口图,一张是接口与实现类的图)及其特性。
2.注意: 本章提供的容器,可用来存放各种对象。当各种对象添加到容器中后,其类型会变为Object类型。
3、如何遍历与Collection接口相关的容器。
1) 方法一: 通过新增的for循环实现遍历。
2) 方法二: 凡是与Collection接口的容器均拥有一个 iterator()方法,该方法
用来反馈一个Iterator接口的迭代器。通过此迭代器可以实现容器的遍历。
4.List接口的特性:
1) 元素在位置上是有序的。即: 每一个元素拥有一个位置的索引号,该号从零开始。
2) 元素可以重复。即: 重复的元素可以在不同的位置上。
3) 它比父接口Collection多了一些与位置相关的操作方法。
插入、删除某个位置上的元素、替换某个位置上的元素、获取某个位置上的元素等。
4) 它的常用实现类: LinkedList 和 ArrayList。
LinkedList采用链表的原理来管理所有的元素。
因此,它在插入和删除时效率较高,而查找时效率较低。
ArrayList 采用队列的原理来管理所有的元素。
因此,它在插入和删除时效率较低,而查找时效率较高。
1、Set接口的特性:
1) 元素无序;
2) 元素不重复; 当添加重复的元素时会采用屏蔽技术屏蔽掉。
3) 它的常用实现类为: HashSet。
3) 判断元素相等依赖equals()方法。同时,它还依赖hashCode()方法。
注意: 在Java中,规定: 一个对象拥有一个哈希编码,该编码就是一个int型整数,它由系统自动产生。
注意: 在Java中,规定: 相等的对象应该拥有相同的哈希编码。
结论: 当你的容器由 HashSet实现类所构建的且用来存放自定义类的对象时,则要求:
该自定义类必须重写 equals()和hashCode()两个方法,为对象判断相等提供依据。
1、SortSet接口的特性:
1) 元素有序(元素会按大小自动排序)。
2) 元素不重复。当添加重复的元素时会采用屏蔽技术屏蔽掉。
3) 它的实现类为: TreeSet。
2、TreeSet实现类的特性:
1) 元素有序(元素会按大小自动排序)。
2) 元素不重复。当添加重复的元素时会采用屏蔽技术屏蔽掉。
3) 判断元素相等依赖equals()方法。但,实质上它依赖compareTo()方法。
注意: 凡是能够自动排序的容器,均要求存放的元素必须是相同的类型。
(即:不同种类的元素不可比较大小)
结论: 当容器由 TreeSet实现类所构建且用来存放自定义类的对象时,则要求:
该自定义类必须实现Comparable接口,重写compareTo()方法,为对象比较
大小提供依据。
注意: 在重写compareTo()方法时,要对对象的所有属性一一比较,确保在判断对象相等时
与 equals()方法是一致。
标签:
原文地址:http://www.cnblogs.com/d1349077083/p/4279044.html