我有一个以数组作为值的 map 。现在所有这些数组都需要转换为列表。最后,所有列表应该合并为一个列表。
现在可用,
Map<String, Class1[]> master_map= new HashMap<>();
Class1 c1 = new Class("Name1", "Address1");
Class1 c2 = new Class("Name2", "Address2");
ClassArray[0] = c1;
ClassArray[1]= c2;
master_map.put("FirstValue", ClassArray);
Class1 c3 = new Class("Name3", "Address3");
Class1 c4 = new Class("Name4", "Address4");
ClassArray[0] = c3;
ClassArray[1]= c4;
master_map.put("SecondValue", ClassArray);}
现在我想得到如下结果。
List<Class1> result = new ArrayList<>();
//This above list to be as {c1, c2, c3, c4}
期待java8中的代码
最佳答案
您需要在条目流中展平您的内部数组:
List<Class1> result = master_map.values()
.stream()
.flatMap(Arrays::stream) //use flatMap to flatten nested stream
.collect(Collectors.toList());
关于java - map 值在数组中。所有值都需要转换为列表并将所有值组合为结果列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54689831/