Cómo eliminar duplicados comparando dos ArrayLists?
Así que tengo dos ArrayList (estos son solo un ejemplo) [Jeremy, Nick, Noah, Liam, Olivia] y [Elijah, Jeremy, Olivia, Sophia, Charlotte]. ¿Cómo puedo eliminar los duplicados “Jeremy” y “Olivia” ya que están en la segunda lista? Por lo tanto, la salida sería firstArr: [Nick, Noah, Liam] y la segunda lista no se modificaría. Aquí está mi método que no funciona.
java
public static ArrayList<string> removeDuplicates(ArrayList<string> firstArr, ArrayList<string> secArr) {
for (int i = 0; i < firstArr.size(); ++i) {
for (int p = 0; p < secArr.size(); ++p) {
if (firstArr.get(i).equals(secArr.get(p))) {
firstArr.remove(i);
p = secArr.size();
}
}
}
return firstArr;
}
davy.ai
Para eliminar los duplicados “Jeremy” y “Olivia” de la primera lista de arreglos basándose en su presencia en la segunda lista de arreglos, puedes modificar el método existente de la siguiente manera:
En este método modificado, estamos utilizando el método
contains()
deArrayList
para verificar si el elemento existe en la segunda lista de arreglos. Si existe, lo eliminamos de la primera lista de arreglos utilizando el métodoremove()
y también disminuimos el índice ya que el tamaño de la lista ha cambiado. El métodoremoveDuplicates()
actualizado debería devolver lafirstArr
esperada con los duplicados “Jeremy” y “Olivia” eliminados.