vectores manejo listas interseccion entre diferencia conjuntos calculadora java set intersection hashset

java - manejo - Cómo calcular la intersección de dos conjuntos?



manejo de conjuntos en java (2)

Sí, hay retainAll Revisa this

Set<Type> intersection = new HashSet<Type>(s1); intersection.retainAll(s2);

Posible duplicado:
Encontrar de manera eficiente la intersección de un número variable de conjuntos de cadenas

Diga, tenga dos Hashset, ¿cómo calcular la intersección de ellos?

Set<String> s1 = new HashSet<String>(); Set<String> s2 = new HashSet<String>(); S1 INT S2 ?


Use el método retainAll() de Set :

Set<String> s1; Set<String> s2; s1.retainAll(s2); // s1 now contains only elements in both sets

Si desea conservar los conjuntos, cree un nuevo conjunto para mantener la intersección:

Set<String> intersection = new HashSet<String>(s1); // use the copy constructor intersection.retainAll(s2);

El retainAll() de retainAll() dice que es exactamente lo que quiere:

Retiene solo los elementos en este conjunto que están contenidos en la colección especificada (operación opcional). En otras palabras, elimina de este conjunto todos sus elementos que no están contenidos en la colección especificada. Si la colección especificada también es un conjunto, esta operación modifica efectivamente este conjunto de modo que su valor sea la intersección de los dos conjuntos.