关于Java:map自动排序

Map sorts automatically

本问题已经有最佳答案,请猛点这里访问。

我正在使用地图,我需要它们保持对象被放入它们的顺序,但它们会根据自己的意愿对自己进行排序。我该如何停止或是有其他收藏?我通过使用两个数组列表来解决这个问题,但我想用一个集合来解决这个问题。

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.HashMap;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        map.put("b","Item One");
        map.put("a","Item Two");
        map.put("c","Item Three");
        System.out.println(map);
    }
}


这是一个散列图,因此元素按散列值"排序"。你可以用Linkedhashmap


把一个映射想象成一个由键索引的数组。与其说是"排序",不如说是将值放在指定的键上。

如果您想跟踪顺序,我建议您创建一个元组列表(或存储两个字段的任何其他对象),并将每个数据集附加到该列表中。