Colecciones de Apache Commons - Intersección

La clase CollectionUtils de la biblioteca Apache Commons Collections proporciona varios métodos de utilidad para operaciones comunes que cubren una amplia gama de casos de uso. Ayuda a evitar escribir código repetitivo. Esta biblioteca es muy útil antes de jdk 8 ya que ahora se proporcionan funcionalidades similares en la API Stream de Java 8.

Comprobando intersección

El método intersection () de CollectionUtils se puede utilizar para obtener los objetos comunes entre dos colecciones (intersección).

Declaración

A continuación se muestra la declaración de org.apache.commons.collections4.CollectionUtils.intersection() método -

public static <O> Collection<O> intersection(Iterable<? extends O> a,
   Iterable<? extends O> b)

Parámetros

  • a - La primera (sub) colección, no debe ser nula.

  • b - La segunda (super) colección, no debe ser nula.

Valor devuelto

La intersección de las dos colecciones.

Ejemplo

El siguiente ejemplo muestra el uso de org.apache.commons.collections4.CollectionUtils.intersection()método. Obtendremos la intersección de dos listas.

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      //checking inclusion
      List<String> list1 = Arrays.asList("A","A","A","C","B","B");
      List<String> list2 = Arrays.asList("A","A","B","B");
      System.out.println("List 1: " + list1);
      System.out.println("List 2: " + list2);
      System.out.println("Commons Objects of List 1 and List 2: "
         + CollectionUtils.intersection(list1, list2));
   }
}

Salida

Cuando ejecute el código, verá el siguiente resultado:

List 1: [A, A, A, C, B, B]
List 2: [A, A, B, B]
Commons Objects of List 1 and List 2: [A, A, B, B]