JAVA:打印数组中不同整数的数量

时间:2015-11-05 18:10:46

标签: java arrays

我有一个包含许多整数的数组。现在我想打印不同的这些整数的数量。

如果我有int[] arr = {1,1,1,2,3,4,5,5};我想打印这样的内容:Sum=5。由于数组中有5个不同的整数。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

使用Java 8流的简单解决方案看起来像这样

int[] arr = {1, 1, 1, 2, 3, 4, 5, 5};
long count = Arrays.stream(arr).distinct().count();
System.out.format("Sum=%d\n", count);

你问题中数组的结果是5。

答案 1 :(得分:1)

您可能正在寻找没有重复的计数。简单的答案是使用Set

In [176]: a = np.random.rand(2000,3000)

In [177]: b = np.random.rand(2000)

In [178]: %timeit np.array([np.multiply(a[x],b[x]) for x in range(a.shape[0])])
10 loops, best of 3: 118 ms per loop

In [179]: %timeit a * b[:,None]
10 loops, best of 3: 63.8 ms per loop

In [180]: %timeit np.multiply(a,b[:,None])
10 loops, best of 3: 64 ms per loop