Если вы только начали изучать Java, не занимайтесь функциональным программированием, пока не освоите основы. Вот простой способ старой школы сделать это.
Перебирать все массивы и сохранять частоту в HashMap
.
public static countFreq(int[] array, HashMap<Integer, Integer> map) {
for (int element : array) {
map.put(element, map.getOrDefault(element, 0) + 1);
}
}
Вызвать вспомогательный метод для подсчета частоты и отображения результатов. .
var map = new HashMap<Integer, Integer>();
countFreq(new int[]{1, 2, 3, 4}, map);
countFreq(new int[]{1, 2, 2, 4}, map);
for (var mapEntry : map.entrySet()) {
System.out.println(mapEntry.getKey() + " " + mapEntry.getValue());
}
Примечание: этот код предназначен для JDK / JRE 10, поэтому здесь используется var
. Если это JDK8 или ниже, вы должны указать тип.