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}