我的问题如下。我有一个整数数组列表。 arraylist 包含 5 个整数,例如 [5,5,3,3,9] 或者 [2,2,2,2,7]。许多数组列表都有重复的值,我不确定如何计算每个值的数量。
问题是如何在 arraylist 中找到重复值并计算该特定重复值的数量。在第一个示例 [5,5,3,3,9] 中,有 2 个 5 和 2 个 3。 [2,2,2,2,7] 的第二个例子只有 4 个 2。我希望找到的结果信息是是否有重复项,有多少重复项以及重复了哪些特定整数。
我不太确定如何在 java 中执行此操作。
任何帮助将不胜感激。谢谢。
最佳答案
对我来说,最直接的答案是使用 Collections.frequency
方法。类似这样的事情:
// Example ArrayList with Integer values
ArrayList<Integer> intList = new ArrayList<Integer>();
intList.add(2);
intList.add(2);
intList.add(2);
intList.add(2);
intList.add(7);
Set<Integer> noDupes = new HashSet<Integer>();
noDupes.addAll(intList); // Remove duplicates
for (Integer i : noDupes) {
int occurrences = Collections.frequency(intList, i);
System.out.println(i + " occurs " + occurrences + " times.");
}
如果你愿意,你可以映射每个 Integer
及其出现次数:
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (Integer i : noDupes) {
map.put(i, Collections.frequency(intList, i));
}
关于java - 如何在数组列表中查找相同整数的倍数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2741231/