Set集合
set集合的概述
- set集合不可以存放重复元素,元素的存取是无序的。
如何选择Set集合及其子类
- set -->不保留存储顺序并且去掉重复元素
- TreeSet -->适用于元素排序
- HashSet -->如果不需要排序请选我,比TreeSet效率高
- LinkedHashSet -->如果需要保留存储顺序,又要过滤重复元素选择我。
HashSet
1.HashSet的概述
- 此类实现了set接口,由哈希表支持,它不保证set的迭代顺序,此类允许使用null元素
2.HashSet的特点
- 无序的集合,存储和取出的顺序不同,没有索引,不存储重复的数据
- 底层的数据结构是哈希表(链表和数组的结合体)
- 存储和取出都比较快
- 线程不安全的
Comparator和Comparable的用法
1.Comparable的概述
- 该接口强行对实现它的每一个类的对象进行整体排序,Java中称这种排序为自然排序。实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort )进行自动排序。
- 类的 compareTo方法被称为它的自然比较方法 。
2.Comparable的方法
public int compareTo(T o);
如果x < y, 返回-1;如果x = y, 返回0;如果x > y, 返回1。