Ashok
Ashok

Reputation: 69

how to remove duplicate array elements using hashmap in java


How to remove duplicate elements in an array using HashMap without using hashset in java...

Below code describes removal of duplicates in array..

Now i need to write using hashmap for generating key and value pairs

import java.util.*;

class TestArray{

public static void main(String arg[])
{

ArrayList<String> wordDulicate = new ArrayList<String>();

    wordDulicate.add("chennai");
    wordDulicate.add("bangalore");
    wordDulicate.add("hyderabad");
    wordDulicate.add("delhi");
    wordDulicate.add("bangalore");
    wordDulicate.add("mumbai");
    wordDulicate.add("mumbai");
    wordDulicate.add("goa");
    wordDulicate.add("calcutta");
    wordDulicate.add("hyderabad");

    ArrayList<String> nonDupList = new ArrayList<String>();

    Iterator<String> dupIter = wordDulicate.iterator();
    while(dupIter.hasNext())
    {
    String dupWord = dupIter.next();
    if(nonDupList.contains(dupWord))
    {
        dupIter.remove();
    }else
    {
        nonDupList.add(dupWord);
    }
    }
  System.out.println(nonDupList);
}
  }

Upvotes: 1

Views: 7044

Answers (3)

Niranjani raya
Niranjani raya

Reputation: 1

import java.util.HashSet;
import java.util.Stack;

public class stackdupes {

    public static void main(String[] args) {
        Stack<Integer> st = new Stack<Integer>();
        int[] arr= {1,2,3,3,4,5,5,7};
        HashSet<Integer> set = new HashSet<Integer>();

        for (int i=0;i<arr.length;i++) {
            if(set.add(arr[i]) == true)
            st.push(arr[i]);
        }
        System.out.println(st); 

    }   
}

Upvotes: 0

Jeroen Vuurens
Jeroen Vuurens

Reputation: 1251

Well a HashMap will prevent you from entering duplicate keys, the same way as HashSet. Actually, many implementations of HashSet just use a HashMap under the hood.

So you can do:

HashMap<String, String> map = new HashMap<String, String>();
for (String s : WordDuplicate) 
  map.put( s, s );

Now you can access the key/values just like a HashMap.

Upvotes: 0

Marko Topolnik
Marko Topolnik

Reputation: 200296

A HashSet is implemented in terms of a HashMap anyway. If you specifically want to use a HashMap, use it the same way as HashSet does: use a dummy constant new Object() as the map value everywhere.

Upvotes: 3

Related Questions