假设你有一个像这样的数组:
int [] myArray = 1,2,3,1,4,2,6,1,5,3,6,1;
如何计算数组中的不同值的数量= 6?
答案 0 :(得分:3)
<击> 撞击>
<击>int i = new TreeSet<Integer>(Arrays.asList(myArray)).size();
击> <击> 撞击>
如果myArray
的类型为Integer[]
,则可以使用。在您的情况下,最简单的方法是迭代每个元素并将其添加到集合中:
Set<Integer> set = new TreeSet<Integer>();
for(int i : myArray) set.add(i);
int i = set.size();
答案 1 :(得分:1)
您可以通过将数组转换为Set
来轻松获取所有不同的值,这是一个不能包含重复项的集合。
import java.util.TreeSet;
import java.util.Set;
import java.util.Arrays;
public class TestSet {
public static void main(String[] args) {
int [] myArray = new int[]{ 1,2,3,1,4,2,6,1,5,3,6,1 };
Set<Integer> s = new TreeSet<>(Arrays.asList(myArray));
// count distinct values
System.out.println("Array: " + Arrays.toString(myArray) + " has "
+ s.size() + " distinct values");
}
}