Usando LinkedHashSet y TreeSet , se eliminan los elementos duplicados. Porque LinkedHashSet y TreeSet no aceptan elementos duplicados.
Ejemplo:
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]
Enfoque 1: uso de LinkedHashSet
LinkedHashSet no acepta elementos duplicados y tampoco mantiene el orden ordenado.
- Crear vector y agregar elementos en el vector.
- Cree LinkedHashSet y el objeto vectorial se pasa al constructor de LinkedHashSet.
- Borrar todos los elementos del vector.
- Agregue todos los elementos de LinkedHashSet en vector.
A continuación se muestra la implementación del enfoque anterior:
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); } }
Display original Vector - [2, 2, 4, 2, 3, 2, 1] After removing duplicate elements - [2, 4, 3, 1]
Complejidad de Tiempo: O(N), donde N es la longitud del Vector original.
Enfoque 2: TreeSet
TreeSet no acepta elementos duplicados y TreeSet mantiene el orden ordenado.
- Crear vector y agregar elementos en el vector.
- Cree TreeSet y el objeto vectorial se pasa al constructor de TreeSet.
- Borrar todos los elementos del vector.
- Agregue todos los elementos de TreeSet en vector.
A continuación se muestra la implementación del enfoque anterior:
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); } }
Display original Vector - [4, 2, 3, 1, 3, 2, 4] After removing duplicate elements - [1, 2, 3, 4]
Complejidad de tiempo: O (n log n), porque TreeSet usa la implementación del árbol RedBlack.
Publicación traducida automáticamente
Artículo escrito por mukulsomukesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA