Java 为什么Hashmap没有按顺序显示?
显示为未排序的项目 地图。放置(“加利福尼亚”,“萨克拉门托”); 地图放置(“俄勒冈州”、“塞勒姆”); 地图放置(“华盛顿”、“奥林匹亚”); 系统输出打印项次(map)Java 为什么Hashmap没有按顺序显示?,java,hashmap,Java,Hashmap,显示为未排序的项目 地图。放置(“加利福尼亚”,“萨克拉门托”); 地图放置(“俄勒冈州”、“塞勒姆”); 地图放置(“华盛顿”、“奥林匹亚”); 系统输出打印项次(map) java中的哈希映射没有排序 HashMap绝对不能保证迭代顺序。信息技术 当添加新元素时,甚至可以(也将)完全改变 TreeMap将根据键的“自然顺序”进行迭代 根据他们的compareTo()方法(或外部提供的 比较器)。此外,它还实现了SortedMap接口, 其中包含依赖于此排序顺序的方法 LinkedHashM
java中的哈希映射没有排序
- HashMap绝对不能保证迭代顺序。信息技术 当添加新元素时,甚至可以(也将)完全改变
- TreeMap将根据键的“自然顺序”进行迭代 根据他们的compareTo()方法(或外部提供的 比较器)。此外,它还实现了SortedMap接口, 其中包含依赖于此排序顺序的方法
- LinkedHashMap将按照条目的放置顺序进行迭代 进入地图
{California=Sacramento, Oregon=Salem, Washington=Olympia}
{California=Sacramento, Oregon=Salem, Washington=Olympia, Alaska=Juneau}
Alaska=Juneau
显示在末尾
但TreeMap是order.print:
{Alaska=Juneau, California=Sacramento, Oregon=Salem, Washington=Olympia}
为什么要在结尾显示?这是一个特性。考虑使用树形代替。
{Alaska=Juneau, California=Sacramento, Oregon=Salem, Washington=Olympia}