Método LinkedBlockingDeque retainAll() en Java con ejemplos

El método de retención de todos() de LinkedBlockingDeque es una función incorporada en Java que se utiliza para eliminar de este deque todos sus elementos que están contenidos en la colección especificada. Eso significa que todos los elementos comunes a estas dos colecciones se eliminan de este deque.

Sintaxis:

public boolean retainAll(Collection c)

Parámetros: este método toma la colección c como un parámetro que contiene elementos que se eliminarán de esta lista.

Valor devuelto: este método devuelve verdadero si esta deque cambió como resultado de la llamada.

Excepciones: este método arroja una excepción de puntero NULL si la colección especificada es nula.

El siguiente programa ilustra la función de retención de todos() de la clase LinkedBlockingDeque:

Ejemplo 1:

// Java Program Demonstrate retainAll()
// method of LinkedBlockingDeque
  
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws IllegalStateException
    {
  
        // Create object of LinkedBlockingDeque
        LinkedBlockingDeque<Integer> LBD
            = new LinkedBlockingDeque<Integer>();
  
        // Add numbers to end of LinkedBlockingDeque
        LBD.add(11);
        LBD.add(22);
        LBD.add(33);
        LBD.add(44);
  
        // print deque
        System.out.println("Linked Blocking Deque: "
                           + LBD);
  
        // Create object of ArrayList collection
        ArrayList<Integer> ArrLis
            = new ArrayList<Integer>();
  
        // Add number to ArrayList
        ArrLis.add(55);
        ArrLis.add(11);
        ArrLis.add(23);
        ArrLis.add(22);
  
        // Print ArrayList
        System.out.println("ArrayList to be retained: "
                           + ArrLis);
  
        // Function retainAll() retains
        // all the common elements from deque
        LBD.retainAll(ArrLis);
  
        // Print deque
        System.out.println("Retained Linked Blocking Deque: "
                           + LBD);
    }
}
Producción:

Linked Blocking Deque: [11, 22, 33, 44]
ArrayList to be retained: [55, 11, 23, 22]
Retained Linked Blocking Deque: [11, 22]

Ejemplo 2:

// Java Program Demonstrate retainAll()
// method of LinkedBlockingDeque
  
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws IllegalStateException
    {
  
        // Create object of LinkedBlockingDeque
        LinkedBlockingDeque<String> LBD
            = new LinkedBlockingDeque<String>();
  
        // Add numbers to end of LinkedBlockingDeque
        LBD.add("geeks");
        LBD.add("Geeks");
        LBD.add("gfg");
        LBD.add("Gfg");
  
        // Print deque
        System.out.println("Linked Blocking Deque: "
                           + LBD);
  
        // Create object of ArrayList collection
        ArrayList<String> ArrLis
            = new ArrayList<String>();
  
        // Add elements to ArrayList
        ArrLis.add("GeeksforGeeks");
        ArrLis.add("Geeks");
        ArrLis.add("gfg");
        ArrLis.add("Gfg");
  
        // Print ArrayList
        System.out.println("ArrayList to be retained: "
                           + ArrLis);
  
        // Function retainAll() retains
        // all the common elements from deque
        LBD.retainAll(ArrLis);
  
        // Print deque
        System.out.println("Retained Linked Blocking Deque: "
                           + LBD);
    }
}
Producción:

Linked Blocking Deque: [geeks, Geeks, gfg, Gfg]
ArrayList to be retained: [GeeksforGeeks, Geeks, gfg, Gfg]
Retained Linked Blocking Deque: [Geeks, gfg, Gfg]

Referencia: https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/LinkedBlockingDeque.html#retainAll-java.util.Collection-

Publicación traducida automáticamente

Artículo escrito por ProgrammerAnvesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *