Monday, 9 January 2017

Write a program in Java that finds the duplicate numbers (numbers that occur more than once) in a list. The function takes a list of integers as parameter and prints the duplicate numbers.

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.HashSet;
import java.util.Set;

 class Duplicate{
List<Integer> l=new ArrayList<Integer>();

    public void findDuplicate(List<Integer> l){
        Set duplicate = new HashSet();
        Set uniques = new HashSet();
       
        for (int i = 0; i < l.size(); i++)
      if (!uniques.add(l.get(i)))
        duplicate.add(l.get(i));
    uniques.removeAll(duplicate);
    Iterator iterator=duplicate.iterator();
    while (iterator.hasNext()){
    System.out.println(iterator.next() + " ");
    }
    }
}
class HuntDuplicate {
    public static void main(String[] args) {
    List<Integer> l=new ArrayList<Integer>();
l.add(1);
        l.add(2);
        l.add(2);
        l.add(4);
        l.add(5);
        l.add(4);
       
        Duplicate d=new Duplicate();
        d.findDuplicate(l);
    }
}

No comments:

Post a Comment