Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Hashmap没有按顺序显示?_Java_Hashmap - Fatal编程技术网

Java 为什么Hashmap没有按顺序显示?

Java 为什么Hashmap没有按顺序显示?,java,hashmap,Java,Hashmap,显示为未排序的项目 地图。放置(“加利福尼亚”,“萨克拉门托”); 地图放置(“俄勒冈州”、“塞勒姆”); 地图放置(“华盛顿”、“奥林匹亚”); 系统输出打印项次(map) java中的哈希映射没有排序 HashMap绝对不能保证迭代顺序。信息技术 当添加新元素时,甚至可以(也将)完全改变 TreeMap将根据键的“自然顺序”进行迭代 根据他们的compareTo()方法(或外部提供的 比较器)。此外,它还实现了SortedMap接口, 其中包含依赖于此排序顺序的方法 LinkedHashM

显示为未排序的项目 地图。放置(“加利福尼亚”,“萨克拉门托”); 地图放置(“俄勒冈州”、“塞勒姆”); 地图放置(“华盛顿”、“奥林匹亚”); 系统输出打印项次(map)


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}