gpt4 book ai didi

java - 为什么 Collections.frequency 在转换后的列表上没有按预期工作?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:44:55 26 4
gpt4 key购买 nike

我过去使用过 Collections.frequency 并且工作正常,但我现在遇到了问题,因为我使用的是 int[]。

基本上 Collections.frequency 需要一个数组,但我的数据是 int[] 的形式,所以我转换了我的列表但没有得到结果。我认为我的错误在于列表的转换,但不确定该怎么做。

这是我的问题的一个例子:

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;

public class stackexample {
public static void main(String[] args) {
int[] data = new int[] { 5,0, 0, 1};
int occurrences = Collections.frequency(Arrays.asList(data), 0);
System.out.println("occurrences of zero is " + occurrences); //shows 0 but answer should be 2
}
}

我没有得到零错误,但是当我尝试列出 Arrays.asList(data) 中的项目时,我得到了奇怪的数据,如果我只是直接添加数据,它想把我的列表转换成collections<?>

有什么建议吗?

最佳答案

这个有效:

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class stackexample {
public static void main(String[] args) {
List<Integer> values = Arrays.asList( 5, 0, 0, 2 );
int occurrences = Collections.frequency(values, 0);
System.out.println("occurrences of zero is " + occurrences); //shows 0 but answer should be 2
}
}

这是因为 Arrays.asList 没有给出您认为的结果:

http://mlangc.wordpress.com/2010/05/01/be-carefull-when-converting-java-arrays-to-lists/

您返回的是 int []List,而不是 int

关于java - 为什么 Collections.frequency 在转换后的列表上没有按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10133584/

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