在HashMap中打印排序后的列表值

时间:2018-09-11 15:14:06

标签: java hashmap

我有2个列表:

List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();

list1.add("Jonny", "Adam", "Dave");
list2.add("Katie, Toni", "Sam");

我想要每个列表的键,所以我定义了一个HashMap:

HashMap<Integer, List<String>> hmap = new HashMap<Integer, List<String>>();

hmap.put(1, list1);
hmap.put(2, list2);

我一直在搜索和阅读内容,我无法理解一种打印键的方法,然后依次打印列表中与该键关联的所有元素。 HashMap不对值排序吗?

有更好的方法吗?

我只想打印key = 1的值

1 个答案:

答案 0 :(得分:0)

TreeMap保持键的顺序。

List<String> list1 = Arrays.asList("Jonny", "Adam", "Dave");
List<String> list2 = Arrays.asList("Katie", "Toni", "Sam");

Map<Integer, List<String>> hmap = new TreeMap<>();

hmap.put(2, list2);
hmap.put(1, list1);

for (Map.Entry<Integer, List<String>> e : hmap.entrySet()) {

    System.out.print("Key : " + e.getKey() + " values: ");
    e.getKey();

    for (String s : e.getValue()) {
        System.out.print(s + " ");
    }
    System.out.println();
}