Set:部包含重复元素集合,不保证顺序。而且方法和collection一致。Set集合取出元素的方法只有一种:迭代器。

HashSet:哈希表结构,不同步,保证元素的唯一性的方式依赖于:hashcode(),eques()方法。查询速度快。

TreeSet:可以对Set集合中的元素进行自然排序。使用的是二叉树结构。

如何保持元素的唯一性的呢?

使用的对象比较方法的结果是否为0,是0,视为相同元素,不存。

元素排序比较有两种方式:

1,元素自身具备自然排序,其实就是实现了comparable接口,重写了compareTo方法。

如果元素自身不具备自然排序,或者具备的自然排序不是所需要的,这时只能用第二种方式。

2,比较器,其实就是在创建TreeSet集合时,在构造函数中指定具体的比较方式。需要定义一个实现Conparator接口,重写compara方法。