我想从 a 中获取唯一值List<String[]>并将它们存储在一个新列表中(或者唯一值在HashMap<String, Integer>哪里以及它在 中出现的次数。如何提取唯一值?StringIntegerList<String[]>
2 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
您可以使用Collectors.groupingBy
Map<String, Long> map = abc.stream() .flatMap(Arrays::stream) .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
RISEBY
TA贡献1856条经验 获得超5个赞
如果您使用 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()));
添加回答
举报
0/150
提交
取消