我正在學習使用Java8和Stream進行操作。我有一個問題,我正在嘗試使用java8流解決。在Java 8中:製作集<V>在所有列表中的對象中都是值的地圖<K, List<V>>
我有Map<String, List<Integer>> accountMap
型 數據的地圖 - {0000132861=[6613, 6170, 6206], 0000135932=[6613, 6170, 6206], 0000122989=[6613, 6170, 6206], 0000138372=[3187, 6613, 8167, 6170, 6206], 0000138399=[6613, 6170, 6206]}
我希望所有的Map.value內唯一的整數值()。 像[3187, 6613, 8167, 6170, 6206]
當我做accountMap.values()
我得到List<List<Integer>>
[[6613, 6170, 6206], [6613, 6170, 6206], [6613, 6170, 6206], [3187, 6613, 8167, 6170, 6206], [6613, 6170, 6206]]
當我做accountUserMap.values().stream().collect(Collectors.toSet())
我得到相同的數據類型Set<List<Integer>> [[3187, 6613, 8167, 6170, 6206], [6613, 6170, 6206]]
但是所有的副本列表中刪除。
我要刪除所有重複值,並希望得到Set<Integer> [3187, 6613, 8167, 6170, 6206]
應該有一個有效的方式做到這一點,而無需使用.forEach()或迭代列表。