如何在ArrayList中计算重复的元素?
我需要分离并计算数组列表中有多少值是相同的,并根据出现次数打印它们。
我有一个名为数字的数组列表:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
我创建了一个方法,该方法将每个值分开并将其保存到新数组中。
public static ArrayList<Integer> myNumbers(int z) {
ArrayList<Integer> digits = new ArrayList<Integer>();
String number = String.valueOf(z);
for (int a = 0; a < number.length(); a++) {
int j = Character.digit(number.charAt(a), 10);
digits.add(j);
}
return digits;
}
在此之后,我有一个名为numbers的新数组。我正在对此数组使用排序
Collections.sort(numbers);
我的 ArrayList 看起来像这样:
[0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]
它具有:
2 times 0;
9 times 1;
4 times 2;
6 times 3;
5 times 4;
6 times 5;
5 times 6;
5 times 7;
5 times 8;
3 times 9;
我需要打印出数字串取决于它们的数量,所以它假设看起来像这样:1354678290