为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Java 中的 List<String[]> 中获取具有频率的唯一值?

如何从 Java 中的 List<String[]> 中获取具有频率的唯一值?

Helenr 2023-10-13 17:28:11
我想从 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()));


查看完整回答
反对 回复 2023-10-13
?
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()));


查看完整回答
反对 回复 2023-10-13
  • 2 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信