En este tutorial aprenderemos a comparar dos ArrayLists. Nosotros usaríamos contiene () método para comparar dos elementos de diferentes ArrayLists.
public boolean contains(Object o)
Devuelve verdadero si la lista contiene el objeto; de lo contrario, devuelve falso.
Ejemplo:
En este ejemplo tenemos dos ArrayLists al1
es al2
de tipo String. Comparamos estas ArrayLists usando contains()
y almacenó el resultado de la comparación en el tercer ArrayList (al3
es al4
).
package beginnersbook.com; import java.util.ArrayList; public class Details { public static void main(String [] args) { ArrayList<String> al1= new ArrayList<String>(); al1.add("hi"); al1.add("How are you"); al1.add("Good Morning"); al1.add("bye"); al1.add("Good night"); ArrayList<String> al2= new ArrayList<String>(); al2.add("Howdy"); al2.add("Good Evening"); al2.add("bye"); al2.add("Good night"); //Storing the comparison output in ArrayList<String> ArrayList<String> al3= new ArrayList<String>(); for (String temp : al1) al3.add(al2.contains(temp) ? "Yes" : "No"); System.out.println(al3); //Storing the comparison output in ArrayList<Integer> ArrayList<Integer> al4= new ArrayList<Integer>(); for (String temp2 : al1) al4.add(al2.contains(temp2) ? 1 : 0); System.out.println(al4); } }
Producción:
[No, No, No, Yes, Yes] [0, 0, 0, 1, 1]
¿Cuál es la lógica en el código anterior?
Si el primer elemento de ArrayList al1 está presente en al2
luego ArrayList al3
tendría “Sí” y al4
tendría “1” Sin embargo, si el elemento no está presente, “No” se almacenará en al3
y 0 estaría en al4
.