Set(无序)
由来:
继承了Collection接口.
特点:
存储和取出元素无序,元素唯一.
方法:
方法与Collection完全相同
子类:
|----hashSet,不同步.无序
|----treeSet,1.自然排序
2.选择排序
|----LinkedhashSet 有序
HashSet存储元素对象时,底层使用的是哈希表结构,哈希表结构可以保证HashSet集合中元素的唯一性.步骤:1.先使用hashCode()方法,比较元素对象的哈希值.2.调用equals()方法,比较内容是否相同.如果是基本数据类型的包装类与String类这样的类型都有自然顺序可以进行比较,而自定义的数据类型,没有重写这两个方法是无法保证元素对象的唯一性的,所以都要在自定义的类中重写这两个方法.
TreeSet:
1.自然排序
所有的数据类型对象的元素必须实现Comparable接口,重写其compareTo()方法.否则就会报出类型转换异常.所以我们要向TreeSet集合中添加自定义类型的元素对象时,必须先实现Comparable接口,重写其中的方法.
int compareTo(T o)
比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
2.比较器排序
自定义类必须实现Comparator,重写其compare()方法.
|
|