es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puede el método retainAll de la clase Set NO ignorar elementos duplicados en la lista común?

Hay muchas preguntas relacionadas con cómo ignorar elementos duplicados en una lista, pero quiero mantener los elementos duplicados en la lista común de retainAll () del conjunto.

¿Cómo puedo obtener todos los elementos, incluidas las cadenas duplicadas, en la lista común?

Quiero que la lista común incluya las cadenas duplicadas “a” como elementos separados (tamaño de lista 5):
“a”, “a”, “e”, “f”, “j”

pero la lista común real retorna con solo un “a” (tamaño de lista: 4):
: “a”, “e”, “f”, “j”

Lista list1 = new ArrayList <> ();
list1.add (“a”);
list1.add (“k”);
list1.add (“s”);
list1.add (“f”);
list1.add (“a”);
list1.add (“j”);
list1.add (“e”);

Lista list2 = new ArrayList <> ();
list2.add (“a”);
list2.add (“a”);
list2.add (“e”);
list2.add (“f”);
list2.add (“j”);

Set común = new HashSet <> (list1);
común.retainAll (list2);

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener todos los elementos, incluyendo las cadenas duplicadas en la lista común, se puede usar el método addAll en lugar de retainAll:

    Set<String> common = new HashSet<>(list1);
    common.addAll(list2);
    

    Esto devolverá la lista común con todos los elementos incluyendo cadenas duplicadas (tamaño de la lista 5):

     : "a", "a", "e", "f", "j"
    

Comments are closed.