Set 无序是指 HashSet, 它不能保证元素的添加顺序,更不能保证自然顺序,而 Set 的其他实现类是可以实现这两种顺序的。
怎么样看出来了吧,我们通常说的 List 是you序的指的就是最后集合中的元素顺序就是按照添加时候的顺序排列的(无论是实现类 ArrayList, 还是 LinkedList)。但是我们发现 Set 所谓的无序就是在 HashSet 这个实现类中才会出现的这种情况,而 LinkedHashSet 已经和 List 的结果相同了,再看 TreeSet 实现的功能是根据元素的自然顺序排列了。
直接这样就行了,上面的是代码及输出结果,其中s2和s4是重复的,但是输出的结果中没有重复值
public static void main(String[] args) {
Set myList =new HashSet();
String s1= "aa";
String s2= "bb";
String s3= "cc";
String s4= "bb";
myListadd(s1);
myListadd(s2);
myListadd(s3);
myListadd(s4);
List myNeedList = new ArrayList(myList);
Systemoutprintln(myNeedList);
}
默认用的是less。set内部用的是红黑树rb_tree。见>obaiducom/question/16113509html" target="_blank">>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)