我想从List<String[]>
获取唯一值并将它们存储在新列表中(或HashMap<String, Integer>
,其中String
是唯一值,而Integer
是它的数量List<String[]>
中出现的次数。如何提取唯一值?
答案 0 :(得分:3)
您可以使用Collectors.groupingBy
Map<String, Long> map = abc.stream()
.flatMap(Arrays::stream)
.collect(Collectors.groupingBy(Function.identity(),
Collectors.counting()));
答案 1 :(得分:0)
如果您使用的是Java 8或更高版本,则非常简单。 (使用其他答案进行更正)
List<String[]> abc = new ArrayList<>();
String[] string1 = {"123", "567"};
String[] string2 = {"123", "456"};
abc.add(string1);
abc.add(string2);
List<String> newList = abc.stream()
.flatMap(Arrays::stream)
.distinct()
.collect(Collectors.toList());
Map<String, Long> hashMap = abc.stream()
.flatMap(Arrays::stream)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));