gpt4 book ai didi

java - 迭代可以替换为bulk 'Collection.addAll'

转载 作者:行者123 更新时间:2023-12-02 11:17:28 27 4
gpt4 key购买 nike

所以我的目标是用从 1 到 x 部分的 y 个随机数填充 arraty,然后计算每个数字重复的次数并打印它。这是代码:

int counter = 1;
int length = random.length;
Map<Integer, Integer> hashMap = new HashMap<>();
for(int i = 0; i < length - 1; i++)
{
if(random[i] == random[i+1])
{
counter++;
}
else
{
hashMap.put(random[i], counter);
System.out.println(random[i] + " duplicate : " + counter + " times.");
counter = 1;
}
}

我的问题是在 if 语句中,它不会显示最后一个数字被复制了多少次,因为它会为计数器添加 1 并且不会保存它。我该如何解决它?如果您总体上有想法,我怎样才能做得更好,然后将 for+if 与数组一起使用,请继续并给我提示。感谢您提前提供帮助。

最佳答案

Map<Integer, Long> map = Arrays.stream(random)
.boxed()
.collect(Collectors.groupingBy(Function.identity(),
Collectors.counting()));

关于java - 迭代可以替换为bulk 'Collection.addAll',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53563772/

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