在Hashmap中访问Hashmap,并以某种格式将其打印出来

德波
    static HashMap<String, HashMap<String, List<Integer>>> BIGMAP= new HashMap<String, HashMap<String, List<Integer>>>();

如果我要打印出来,这是一个哈希图,这就是我得到的:

SortedSet<String> keys = new TreeSet<String>(BIGMAP.keySet());
     for (String key : keys) {
     HashMap<String, List<Integer>> value = kmap.get(key);
     System.out.println(key + " : " + value);

     }

a.txt : {a=[20], to=[10]}
b.txt : {a=[4, 20], by=[16], is=[2], to=[13, 22]}
c.txt : {a=[15], as=[16, 17], in=[34], do=[9], to=[14]}

所以我试图通过每个密钥a.txt(String)的上面的“ BIGMAP”进行迭代,其中有一个值是另一个映射结构 HashMap<String, List<Integer>>

...

输出:

a [15],[20],[4, 20],
as [16, 17],, ,, ,
by , ,, ,[16],
...so on...
...so on...
...so on...

预期/期望的输出

a  20, 4:20 ,15
as   ,  , 16:17
by   , 16 ,

打印格式应该与上面类似,但显然应该从每个文本文件(字符串)中按顺序打印,这是外部哈希图中的键

例如,a 20, 4:20 ,15“ a”是单词FOR该单词,20来自于其中key是a.txtand4:20来自fromb.txt15来自from的值c.txt

如您所见,我在那里有东西,但是它不能完全满足我的需求。如果有多个数字,则冒号是必需的。有时可能是4:20:50:92

shmosel

这将完成Java 8中的工作。这不是我的最佳工作,但已通过示例值成功测试。

BIGMAP.values()
        .stream()
        .flatMap(m -> m.keySet().stream())
        .distinct()
        .sorted()
        .map(k -> k
                + " "
                + BIGMAP.entrySet()
                        .stream()
                        .sorted(comparing(Entry::getKey))
                        .map(e -> e.getValue()
                                   .getOrDefault(k, Collections.emptyList())
                                   .stream()
                                   .map(String::valueOf)
                                   .collect(joining(":")))
                        .collect(joining(", ")))
        .forEachOrdered(System.out::println);

产生以下输出:

a 
20,4:20,15 as,,
16: 17 by,16,
do,,9 
in,,34
是,2,
to 10,13:22,14

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

hasmap内的hashmap打印出来

读取一个充满整数的二进制文件,并以C格式的ASCII格式将其打印出来

从服务器获取信息并以格式打印出来

如何使用gsub修改awk中变量的值并将其打印出来?

从Servlet打印出来

SQL JOIN问题未将用户详细信息从查询中带回并以数组形式打印出来

如何在python中以换行符读取userinput并以换行符的形式打印出来?

我有一个变量并将其打印出来,并且打印出“ 2”

如何在Java的列中打印出来

字体未在pygame程序中打印出来

在 Python 中读取文件并打印出来

在 C 中对结构元素进行排序并打印出来

如何以 yyyy-MM-dd 格式设置日期,然后在 Java 1.8 中以相同格式打印出来?

如何在Java中读取文本文件的第一行并将其打印出来?

如何检查列表中是否存在变量(来自txt),然后按逻辑将其打印出来

我尝试要求用户输入然后将其打印出来,但它不打印

打印出来的Java锻炼解释

ASCII字符未打印出来

获取元素名称并打印出来

排序数组并打印出来

从jQuery Flot图中打印出来

导入的模块打印出来 None

如何获取用户输入并存储到一个HashMap,并分别建立了两个键打印出来?

向发件人发送退回邮件并简单地将其打印出来

遍历名称列表并使用索引(带点)将其打印出来

如何对javascript对象的属性执行计算并将其打印出来

目标-C。返回字符串并将其打印出来的块

格式化char *,类似于“ printf”,但不打印出来

如何打印/显示telnet会话的输出以及如何在文件中打印出来-Python