之前对Java Colletction和Map有序无序的理解是,只要往 Colletction和Map对象中按照一定顺序添加数据,然后通过遍历,如果顺序根添加的顺序一致,那么就是有序的。
后来在看treemap时,又说list是无序的,顿时有点懵。
其实说有序无序, 有两种角度:
1: 往集合中插入元素的顺序与遍历元素的顺序的关系;
2: 往对象中插入元素否会根据元素的大小排序
如果按照第一点, 那么List是有序的,HashSet, HashMap都是无序的,因为底层通过hash值进行插入的。
如果按照第二点,那么List也不是有序的。而TreeMap,TreeSet是有序的,因为在添加元素时会进行比较。