一.Set集合:
1.Set集合的特点:
1).无序(取出时,跟存入时的顺序不一致)
2).不存储重复元素。
2.子类:
1).HashSet:
A.内部使用"哈希表"结构;
B.使用hashCode()和equals()保证元素的唯一;
2).TreeSet:
A.内部使用"树"结构;
B.比较方式:
1.自然排序:
自定义类实现Comparable接口。重写compareTo()
2.比较器排序:
自定义"比较器"实现Comparator接口,重写compare()方法;
实例化TreeSet时,将"比较器"对象传入;
C.无论哪种比较方式,只要返回0,就认为是相等的对象,不存。
3).LinkedHashSet:有序的;
A.内部使用链表、哈希表实现;
B.由链表保证有序;由哈希表保证唯一;
二.Map集合:不是Collection集合体系中的。
1.特点:
1).双列的集合,存储使用"键、值"对;
2)."键"是唯一的。
3).当我们存储相同的"键"时,会将新值替换原值;
4).无序的;
2.Map与Collection的不同:
1.Map是双列的,Collection是单列的
2.Map的键唯一,Collection的子体系Set是唯一的
3.Map集合的数据结构值针对键有效,跟值无关
Collection集合的数据结构是针对元素有效
3.子类:
1).HashMap:
A.内部使用哈希表结构;
B.验证键的唯一:通过调用"键"对象的hashCode()和equals();
2).LinkedHashMap:
A.内部使用链表和哈希表结构;
B.链表保证元素有序;哈希表保证元素唯一;
3).TreeMap:
A.内部使用"树"结构:
B.排序只对"键";
1.自然排序;
做键的类中必须实现:Comparable接口,重写compareTo()方法;
2.比较器排序:
1).自定义类实现:Comparator接口,重写compare()方法;
2).实例化TreeMap时,传递自定义比较器的实例;
|
|