Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

How to Remove Duplicate Elements from the Vector in Java?

  • Difficulty Level : Hard
  • Last Updated : 11 Dec, 2020

Using LinkedHashSet and TreeSet, duplicate elements are removed. Because the LinkedHashSet and TreeSet do not accept duplicate elements. 

Example:

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

Input : vector = [1, 2, 3, 4, 2, 4]
Output: vector = [1, 2, 3, 4]

Input : vector = [a, b, a, c, d, a]
Output: vector = [a, b, c, d]

Approach 1: Using LinkedHashSet

LinkedHashSet does not accept duplicate elements and also not maintains sorted order.



  1. Create vector and add elements in the vector.
  2. Create LinkedHashSet and the vector object is passed to the constructor of LinkedHashSet.
  3. Clear all elements of the vector.
  4. Add all elements of LinkedHashSet in vector.

Below is the implementation of the above approach:

Java




// Java Program to remove duplicate 
// elements from Vector
import java.util.LinkedHashSet;
import java.util.Vector;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        Vector<Integer> vector = new Vector<Integer>();
  
        vector.add(2);
        vector.add(2);
        vector.add(4);
        vector.add(2);
        vector.add(3);
        vector.add(2);
        vector.add(1);
  
        // display original elements
        System.out.println("Display original Vector - "
                           + vector);
  
        // convert Vector to a LinkedHashSet object.
        LinkedHashSet<Integer> hashSet
            = new LinkedHashSet<Integer>(vector);
  
        // clear all elements of vector
        vector.clear();
  
        // add all unique elements LinkedHashSet to the
        // vector
        vector.addAll(hashSet);
  
        // display vector after removing duplicate elements
        System.out.println(
            "After removing duplicate elements - "
            + vector);
    }
}
Output
Display original Vector - [2, 2, 4, 2, 3, 2, 1]
After removing duplicate elements - [2, 4, 3, 1]

Time Complexity: O(N), where N is the length of the original Vector.

Approach 2: TreeSet

The TreeSet does not accept duplicate elements and TreeSet maintains sorted order.

  1. Create vector and add elements in the vector.
  2. Create TreeSet and the vector object is passed to the constructor of TreeSet.
  3. Clear all elements of the vector.
  4. Add all elements of TreeSet in vector.

Below is the implementation of the above approach:

Java




// Java Program to remove duplicate 
// elements from Vector
import java.util.TreeSet;
import java.util.Vector;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create vector
        Vector<Integer> vector = new Vector<Integer>();
  
        // add elements in vector
        vector.add(4);
        vector.add(2);
        vector.add(3);
        vector.add(1);
        vector.add(3);
        vector.add(2);
        vector.add(4);
  
        // display original vector
        System.out.println("Display original Vector - "
                           + vector);
  
        // convert Vector to a TreeSet object.
        TreeSet<Integer> treeSet
            = new TreeSet<Integer>(vector);
  
        // clear all elements of vector
        vector.clear();
  
        // add all unique elements of TreeSet to the vector
        vector.addAll(treeSet);
  
        // display vector after removing duplicate elements
        System.out.println(
            "After removing duplicate elements - "
            + vector);
    }
}
Output
Display original Vector - [4, 2, 3, 1, 3, 2, 4]
After removing duplicate elements - [1, 2, 3, 4]

Time Complexity: O(n log n), Because TreeSet uses RedBlack tree implementation. 




My Personal Notes arrow_drop_up
Recommended Articles
Page :