地图中的Java流 mapper=newhashmap(); maper.put(1,“Naveen”); Map map1=新的HashMap(); map1.put(1,maper); Map mapOne=newhashmap(); mapOne.put(1,map1);

地图中的Java流 mapper=newhashmap(); maper.put(1,“Naveen”); Map map1=新的HashMap(); map1.put(1,maper); Map mapOne=newhashmap(); mapOne.put(1,map1);,java,java-stream,Java,Java Stream,如何使用Java 8中的streams从mapOne获取字符串值?您的问题的简单答案是: Map<Integer,String> maper = new HashMap<>(); maper.put(1, "Naveen"); Map<Integer,Map<Integer,String>> map1 = new HashMap<>(); map1.put(1, maper); Map<Integer,Map<Integ

如何使用Java 8中的streams从mapOne获取字符串值?

您的问题的简单答案是:

Map<Integer,String> maper = new HashMap<>();
maper.put(1, "Naveen");

Map<Integer,Map<Integer,String>> map1 = new HashMap<>();
map1.put(1, maper);

Map<Integer,Map<Integer,Map<Integer,String>>> mapOne = new HashMap<>();
mapOne.put(1, map1);
其中每个
get
获取内部映射,或者在最后一个
get
的情况下,获取最终值

既然您提到了streams,我想您可能是想问如何展平嵌套映射,以便可以将最内层映射中的字符串作为集合。在这种情况下,您应该使用。N嵌套N层深度的映射需要调用
flatMap

mapOne.get(1).get(1).get(1)

为什么您需要流来进行此操作?
mapOne.get(1).get(1).get(1)
还不够吗?如果您试图通过此示例了解流是如何工作的,您可以从以下在线教程中学习:。但是如果你真的想用这种结构来处理你的数据,我建议你自己制作一个包含数据的对象,它的结构更容易理解。谢谢。但是在上面的回答中,如果我想验证每个嵌套的map@M.NAVEENKUMAR你能解释一下“验证密钥”是什么意思吗?这个额外的要求似乎不在最初的问题中。您能展示一些示例输入和输出吗?
mapOne.values().stream()
    .flatMap(x -> x.values().stream())
    .flatMap(x -> x.values().stream())
    .collect(Collectors.toList()) // or toSet()