黑马程序员技术交流社区
标题:
不是List和其子类方法都有序,而Set和其子类方法都无序么?
[打印本页]
作者:
-律-
时间:
2014-12-23 01:16
标题:
不是List和其子类方法都有序,而Set和其子类方法都无序么?
那为什么
treeset还具有自然排序功能呢?傻傻分不清楚
作者:
duluhua
时间:
2014-12-23 08:41
一开始也被你这问题问蒙了,不过后来想想好像不对头。
作者:
duluhua
时间:
2014-12-23 08:48
List和其子类的有序指的是:往list里存放的顺序是有序的,比如ArrayList list = new ArrayList();
list.add("d");
list.add("c");
list.add("e");
那么d c e在list中的顺序应该是固定的
list.get(0) 肯定是d
list.get(1) 肯定是c
list.get(2) 肯定是e
而treeMap的排序是按照自然顺序内部操作排序的,比如我存的顺序是 d c e 但是我取的顺序可能就是c d e了
取出元素的顺序和存入元素的顺序是不一致的。
我也明白了,原来是这样,所谓的有序无序,指的应该是,往集合中存的元素的顺序和从集合中取出的元素的顺序是不是一致,List及其子类存取元素顺序是一致的,而其他的集合存取元素顺序是不一致的。
而treeset的自然排序跟list的有序无序根部不是一码事。
果然论坛学知识啊 ,我之前从来没考虑过这个问题。
作者:
jxlovqqvo
时间:
2014-12-23 19:07
仔细看毕姥爷的视频你就明白了,虽然Set集合无序但是TreeSet要对元素自然排序的他是有区别的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2