##set set:无序,不可以重复元素。 hashset:数据结构是哈希表,线程非同步的,保证元素唯一性的原理,判断元素的hashCode值是否相同。如果相同,判断equals TreeSet:可以对set集合中的元素进行排序。 底层数据结构是二叉树。保证元素唯一性的依据:compareTo return 0 往TreeSet集合中存储自定义对象学生。想按照学生的年龄进行排序。 记住:排序时,当主要条件相同时,一定判断一下次要条件。
TreeSet排序的第一种方式:让元素自身具备比较性。元素需要事项compareable接口,覆盖compareTo方法。这种方式也称为元素的自然顺序,或者叫做默认顺序。 TreeSet排序的第二种方式:当元素自身不具备比较性时,或者具备的比较性不是锁需要的。这时就需要让集合自身具备比较性。在集合初始化时,就有了比较方式。 当元素自身不具备比较性,或者具备的比较性不是所需要的。这时需要让容器自身具备比较性,定义了比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。 当两种排序都存在时,以比较器为主。定义一个类实现Comparator接口,覆盖compare方法。
JDK1.5之后出现的新特性,用于解决安全问题,是一个安全机制。 好处: