У меня есть вложенный массив ArrayList с некоторыми числами.Получение частоты вложенных ArrayList
ArrayList<Integer[]> list = new ArrayList<Integer[]>();
list.add(new Integer[] { 1, 2, 3, 4 });
list.add(new Integer[] { 1, 2, 4 });
list.add(new Integer[] { 1, 2 });
Как я могу получить их частоту?
С:
System.out.println(Collections.frequency(list , 1));
я только получаю 0
вместо 3
(в моем случае).
это потому, что ни один из массива не имеет одинакового содержимого и размера. Если вы используете java 7 +, тогда вы хотите использовать лямбду и сгладить ее, а затем получить частоту. – StackFlowed
javadoc из 'Collections # frequency':' Возвращает количество элементов в указанной коллекции, равное указанному объекту. Более формально возвращает число элементов e в коллекции так, что (o == null? E == null: o.equals (e)). '. так как 'list.equals (1)' не будет истинным, в любом случае ваш результат равен 0. – SomeJavaGuy
вам нужно проверить частоту в каждом внутреннем массиве, а затем добавить значения до – user902383