Colección significa un conjunto de diferentes clases e interfaces que se agrupan en una sola unidad que tiene funciones similares, se denomina colección y un marco que sabemos muy bien que proporciona colecciones predefinidas en Java. Aquí discutiremos cómo encontrar la intersección entre las dos colecciones, es decir, eliminar todos los elementos de la primera colección si no está disponible en la segunda colección.
En este artículo, utilizaremos dos clases de marco de colección, la clase vectorial y la clase ArrayList, para encontrar la intersección entre las dos colecciones.
Métodos:
- Usando el método ArrayList.contains()
- Usando el método Vector.retainAll()
Enfoque 1:
- Almacene los elementos en la Primera colección y en la segunda colección (Lista de arreglos).
- Ahora iterar la primera colección y verificar si la segunda colección contiene elementos de la primera colección o no.
- Si no contiene, elimine el elemento de la primera colección.
- Imprime la primera colección.
Ejemplo:
Java
// Java Program to Remove All the Elements from the First // Collection if it is not Available in the Second // Using ArrayList.contains() Method // Importing input output classes import java.io.*; // Importing utility classes import java.util.*; // Main class public class GFG { // Method 1 of this class // To remove the elements from the collection static ArrayList<Integer> RemoveElements(ArrayList<Integer> A, ArrayList<Integer> B) { // Iterating over elements in object // using for loop for (int i = 0; i < A.size(); ++i) { // Removing the elements from the collection if (B.contains(A.get(i)) == false) { A.remove(i); } } // Returning the update ArrayList return A; } // Method 2 of this class // To print the collection static void print(ArrayList<Integer> A) { // Iterating over elements in object // using for-each loop for (int element : A) { // Printing the elements of the linked list System.out.print(element + " "); } } // Method 3 of this class // Main driver method public static void main(String[] args) { // Creating an object of ArrayList class // Declaring object of Integer type ArrayList<Integer> A = new ArrayList<>(); // Inserting elements to ArrayList object // Custom input entries A.add(1); A.add(2); A.add(3); A.add(4); // Creating another object of ArrayList class // Again declaring object of Integer type ArrayList<Integer> B = new ArrayList<>(); // Inserting elements to ArrayList object // Custom input entries B.add(1); B.add(2); B.add(3); // Calling the Function ArrayList<Integer> UpdatedCollection = RemoveElements(A, B); // Lastly printing the updated collection print(A); } }
1 2 3
Complejidad de tiempo: O(n)
Complejidad espacial: O(n)
Enfoque 2: Usar el método Vector.retainAll()
- Almacene los elementos en la Primera colección y en la segunda colección (Vector).
- Ahora usa el método Vector.retainAll()
- Imprime la primera colección.
Ejemplo:
Java
// Java Program to Remove All the Elements from the First // Collection if it is not Available in the Second // Using Vector.retainAll() method // Importing libraries import java.io.*; import java.util.*; // Main class public class GFG { // Method 1 of this class // To remove the elements from the collection static Vector<Integer> RemoveElements(Vector<Integer> A, Vector<Integer> B) { A.retainAll(B); // Returning the update ArrayList return A; } // Method 2 of this class // To print the collection static void print(Vector<Integer> A) { // Iterating elements in object using for loop for (int element : A) { // Printing the elements of the linked list System.out.print(element + " "); } } // Method 3 of this class // Main driver method public static void main(String[] args) { // Creating an ArrayList object // Declaring object of integer type Vector<Integer> A = new Vector<>(); // Inserting elements in the ArrayList // Custom input entries A.add(1); A.add(2); A.add(3); A.add(4); // Creating another ArrayList // Again declaring object of integer type Vector<Integer> B = new Vector<>(); // Inserting elements in the ArrayList // Custom input entries B.add(1); B.add(2); B.add(3); // Calling the Method1 now to // remove the elements from the collection Vector<Integer> UpdatedCollection = RemoveElements(A, B); // Printing the updated collection print(A); } }
1 2 3
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA