Java Collection How to - Get duplicates from an array by checking the frequency








Question

We would like to know how to get duplicates from an array by checking the frequency.

Answer

import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/*w w  w . ja  v  a2s. c om*/
public class Main {
  public static void main(String[] args) {
    Integer[] arr = { 1, 2, 3, 1, 4, 4, 1, 5 };
    System.out.println(Arrays.toString(arr));
    List<Integer> l = Arrays.asList(arr);

    System.out.println(l);
    
    Set<Integer> set = new HashSet<Integer>();
    for (int j = 0; j < l.size(); j++) {
      if (Collections.frequency(l, l.get(j)) > 1) {
        set.add(l.get(j));
      }
    }
    System.out.println("dups are:"+set);
  }
}

The code above generates the following result.