Java Tree Map打印值澄清

我的问题

在打印地图值时,我想打印哪个键具有多个值

以下是详细信息

static Map<Integer, Set<String>> myMap = new TreeMap<>();


Key  value
1       a
        b
        c

2       d

3       e

4       f
        g
        h

基于以上所述
我想要打印1和4只需要省略2和3

印花

myMap.entrySet().forEach((e) -> {
                System.out.println(e.getKey());
                e.getValue().forEach((c) -> {
                    System.out.println("    " + c);
                });
            });

解决方法:

你有没有特别的原因使用溪流?标准命令式格式更易于编写和更易于阅读:

for (Entry<Integer, Set<String>> e : myMap.entrySet()) {
  if (e.getValue().size() > 1) {
    System.out.println(e.getKey());
    for (String s : e.getValue()) {
      System.out.println("    " + s);
    }
  }
}

当然,这是一些更多的线条,但简洁并不一定是一种美德.清晰度应该是您最关心的问题.

上一篇:TreeMap分析


下一篇:java – 无法按升序对列表进行排序