TreeSet和SortedSet

首先,最重要的,就是有序。数据库

SortedSet继承自Set,他根据对象的比较顺序(能够是天然顺序,也能够是自定义的顺序),而不是插入顺序进行排序;code

LinkedHashSet,维护的是插入时的顺序;对象

TreeSet是SortedSet的惟一实现类,红黑树实现,树形结构,它的本质能够理解为是有序,无重复的元素的集合。排序

由于都是有序的,因此相应的就有get,remove和add方法。继承

HashSet,看他的源码能够知道,他的底层,是hashmaprem

一段别人总结的话:get

TreeSet 是二差树实现的,Treeset中的数据是自动排好序的,不容许放入null值。 源码

二、HashSet 是哈希表实现的,HashSet中的数据是无序的,能够放入null,但只能放入一个null,二者中的值都不能重复,就如数据库中惟一约束。 hash

三、HashSet要求放入的对象必须实现HashCode()方法,放入的对象,是以hashcode码做为标识的,而具备相同内容的 String对象,hashcode是同样,因此放入的内容不能重复。可是同一个类的对象能够放入不一样的实例 。hashmap

相关文章
相关标签/搜索