You can find the frequency of each element in an array or list using Java 8 Streams and the Collectors.groupingBy() collector.
Example 1: Finding Frequency in a List
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class ElementFrequency {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 3, 3, 4, 4, 4, 4);
Map<Integer, Long> frequencyMap = numbers.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println(frequencyMap);
}
}
Output:
{1=1, 2=2, 3=3, 4=4}
Example 2: Finding Frequency in an Array
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class ArrayFrequency {
public static void main(String[] args) {
String[] words = {"apple", "banana", "apple", "orange", "banana", "apple"};
Map<String, Long> frequencyMap = Arrays.stream(words)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println(frequencyMap);
}
}
Output:
{orange=1, banana=2, apple=3}
