我正在学习使用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()或迭代列表。