gpt4 book ai didi

java - 如何比较多个字符串数组?

转载 作者:行者123 更新时间:2023-12-01 21:45:33 24 4
gpt4 key购买 nike

我有很多字符串数组,例如:

private String[] ar1= {"Cheese", "Pepperoni", "Books"};
private String[] ar2= {"Books", "Pepperoni", "Greatness"};
private String[] ar3= {"Whatever", "Whenever", "Pepperoni"};

如何比较所有这三个数组并获得单词“Pepperoni”在 ar1、ar2 和 ar3 之间常见的结果,或者例如“Books”仅在 ar2 和 ar1 之间常见的结果?我可以使用 for 循环比较两个字符串数组,但是如何对许多这样的数组执行此操作?

最佳答案

我会使用一套

Set<String> words = new HashSet<>(Arrays.asList(ar1));
words.retainAll(Arrays.asList(ar2));
words.retainAll(Arrays.asList(ar3));

这取每个数组的交集。

更高级的选项是查看在许多数组中多次出现的单词。

Map<String, Long> words = Stream.of(ar1, ar2, ar3, ar4, ar5)
.flatMap(Stream::of)
.collect(Collectors.groupingBy(w -> w,
Collectors.counting()));

这将为您提供每个单词及其出现次数的 map 。您可以根据需要添加更多数组。

关于java - 如何比较多个字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39355715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com