gpt4 book ai didi

java - 使用 Java 实现一个算法来计算每个字符串在字符串数组中出现的次数的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:56 25 4
gpt4 key购买 nike

只是想知道使用 Java 实现一个算法以计算每个字符串在字符串数组中出现的次数的最快方法是什么?

这是我已经尝试过的并且它有效但我担心它可能会“作弊”因为它有点偏离问题:

{
String[] stringArray = {"Random", "Words", "Here","Random", "Words", "Here","Random", "Words", "Here","Random", "Words", "Here"};

List asList = Arrays.asList(stringArray);
Set<String> mySet = new HashSet<>(asList);

mySet.stream().forEach((s) -> {
System.out.println(s + " " +Collections.frequency(asList,s));
});
}

最佳答案

最简单的方法是使用 Map#merge() :

Map<String, Integer> m = new HashMap<>();
for (String s : array)
m.merge(s, 1, Integer::sum);

在那之后,m 将把字符串作为键,将出现作为值:

m.forEach((k, v) -> System.out.format("%s occured %s time(s)\n", k, v));

关于java - 使用 Java 实现一个算法来计算每个字符串在字符串数组中出现的次数的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36793346/

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