A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

那为什么treeset还具有自然排序功能呢?傻傻分不清楚

3 个回复

倒序浏览
一开始也被你这问题问蒙了,不过后来想想好像不对头。
回复 使用道具 举报
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的有序无序根部不是一码事。

果然论坛学知识啊 ,我之前从来没考虑过这个问题。
回复 使用道具 举报
仔细看毕姥爷的视频你就明白了,虽然Set集合无序但是TreeSet要对元素自然排序的他是有区别的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马