gpt4 book ai didi

java - 获取名称列表/数组并计算每个唯一名称列出的次数

转载 作者:行者123 更新时间:2023-12-01 19:56:31 26 4
gpt4 key购买 nike

此代码的输入是:

"John, Mary, Joe, John, John, John, Mary, Mary, Steve."

我的目标是打印出:

"(Name) got (# of votes) votes."

以获胜者的声明结束。

但我似乎无法调试我的代码。这是我的代码:

static void popularity_contest(List<String> name_list) {

largest_count = "";
largest_count = 0;
int n = name_list.size();
int count = 1;
int y = sorted(name_list);
for(i=1; i<name_list.length; i++){
if (n[i] == n[i-1]){
count += 1;
}
else
{
name = n[i-1];
System.out.println(n[i-1] + " got " + str.length(count) + " votes.");
if (count > largest_count)
{
largest_count = count;
largest_name = name;
count = 1;
}
System.out.println(str.length(y)-1 + " got " + str.length(count) + " votes.");
name = str.length(y)-1;
}
if (count > largest_count)
{
largest_count = count;
largest_name = name;
System.out.print(largest_name + " Wins!");
}
}
}

最佳答案

如果您被允许使用 Java 8,则可以使用流和 Collectors.groupingBy() 轻松完成此操作。 :

Map<String, Long> collect = name_list.stream()
.collect(Collectors.groupingBy(Function.identity(),
Collectors.counting()));

您将获得 Map<String, Long>其中 key 代表名称,value 代表重复次数。示例:

{Tom=2, Timmy=1, Elena=1}

尽管这可能太高级了,因为您是 Java 新手。

关于java - 获取名称列表/数组并计算每个唯一名称列出的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49496905/

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