package org.kodejava.basic;
import java.util.HashMap;
import java.util.Map;
public class NumberOccurrenceInArray {
public static void main(String[] args) {
int[] numbers = new int[]{1, 8, 3, 4, 3, 2, 5, 7, 3, 1, 4, 5, 6, 4, 3};
Map<Integer, Integer> map = new HashMap<>();
for (int key : numbers) {
if (map.containsKey(key)) {
int occurrence = map.get(key);
occurrence++;
map.put(key, occurrence);
} else {
map.put(key, 1);
}
}
for (Integer key : map.keySet()) {
int occurrence = map.get(key);
System.out.println(key + " occur " + occurrence + " time(s).");
}
}
}
The result are:
1 occur 2 time(s).
2 occur 1 time(s).
3 occur 4 time(s).
4 occur 3 time(s).
5 occur 2 time(s).
6 occur 1 time(s).
7 occur 1 time(s).
8 occur 1 time(s).
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024
How would you count for String values?
So I figured it out. The values in get key were
null
using aforeach
loop I set it all to zero. I thought that since it wasInteger
,0
would be default.Hi Saran,
Integer
is an object. All object references if not explicitly initialized are set tonull
in Java.Very helpfull article, thanks!