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 create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023
- How do I split large excel file into multiple smaller files? - April 15, 2023
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!