Tôi đã rối tung xung quanh với API Java 8 Stream và chạy vào một cái gì đó tôi chỉ có thể làm thông qua các vòng lặp truyền thống.Java - Flatten lồng nhau bản đồ bằng cách sử dụng Stream
Cho một bản đồ lồng nhau của
{
1999: {
3: [23, 24, 25],
4: [1, 2, 3]
},
2001: {
11: [12, 13, 14],
12: [25, 26, 27]
}
}
Làm thế nào tôi có thể chuyển đổi này vào
['23,3,1999', '24,3,1999', '25,3,1999', '1,4,1999', '2,4,1999', '3,4,1999', '12,11,2001', '13,11,2001', '14,11,2001', '25,12,2001', '26,12,2001', '27,12,2001']
Về cơ bản tôi muốn tái tạo:
Map<Integer, Map<Integer, List<Integer>>> dates...
List<String> flattened = new ArrayList<>();
for (Integer key1 : map.keySet()) {
for (Integer key2 : map.get(key1).keySet()) {
for (Integer value : map.get(key1).get(key2)) {
flattened.add(value + "," + key2 + "," + key1);
}
}
}
Bạn đã thử những gì cho đến nay? – Flown