Remove Duplicate in UserDefinied list

we can remove duplicate object in user definied list by overriding equals and hashcode method in java.
first create Java Bean.

Person.java
-------------

  1. package com.utilitySample;

  2. public class Person{

  3. private String name;

  4. public String getName() {
  5. return name;
  6. }

  7. public void setName(String name) {
  8. this.name = name;
  9. }

  10. /**
  11.  * we have to override equals method to avaoid duplicates in userDefined list.
  12.  */
  13. public boolean equals(Object obj) {
  14. boolean result = false;
  15. Person person = (Person) obj;

  16. if (this.getName().equalsIgnoreCase(person.getName())){
  17. result = true;
  18. }
  19. return result;
  20. }

  21. public int hashCode() {
  22. // TODO Auto-generated method stub
  23. return 1;
  24. }

  25. }

Then create your main java class.

RemDupList.java
------------------


  1. package com.utilitySample;

  2. import java.util.ArrayList;
  3. import java.util.HashSet;
  4. import java.util.List;
  5. import java.util.Set;

  6. public class RemDupList {

  7. public static void main(String[] args) {
  8.             List<Person> personList = new ArrayList<Person>();
  9.    Person person = new Person();
  10.    person.setName("amazon");
  11.    personList.add(person);
  12.    person = new Person();
  13.    person.setName("amazon");
  14.    personList.add(person);
  15.    person = new Person();
  16.    person.setName("stalin");
  17.    personList.add(person);
  18.    person = new Person();
  19.    person.setName("stalin");
  20.    personList.add(person);
  21.    for (Person pers:personList){
  22.     System.out.println("Before removing duplicates ::"+pers.getName());
  23.    }
  24.    Set<Person> personSet = new HashSet<Person>(personList);
  25.    for (Person pers:personSet){
  26.     System.out.println("After removing duplicates ::"+pers.getName());
  27.    }
  28.    List<Person> personList2 = new ArrayList<Person>();
  29.    personList2.addAll(personSet);
  30.    System.out.println("size ::"+personList2.size());
  31.    for (int i = 0; i < personList2.size(); i++) {
  32. System.out.println("value ::"+personList2.get(i).getName());
  33. }
  34.   }

  35. }

 Output :
 Before removing duplicates ::amazon
 Before removing duplicates ::amazon
 Before removing duplicates ::stalin
 Before removing duplicates ::stalin
 After removing duplicates ::stalin
 After removing duplicates ::amazon
 size ::2
 value ::stalin
 value ::amazon





No comments:

Post a Comment