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的有序无序根部不是一码事。
果然论坛学知识啊 ,我之前从来没考虑过这个问题。 |