¿Cómo puedo verificar si un valor que está escrito en el escáner existe en un ArrayList?
List<CurrentAccount> lista = new ArrayList<CurrentAccount>();
CurrentAccount conta1 = new CurrentAccount("Alberto Carlos", 1052);
CurrentAccount conta2 = new CurrentAccount("Pedro Fonseca", 30);
CurrentAccount conta3 = new CurrentAccount("Ricardo Vitor", 1534);
CurrentAccount conta4 = new CurrentAccount("João Lopes", 3135);
lista.add(conta1);
lista.add(conta2);
lista.add(conta3);
lista.add(conta4);
Collections.sort(lista);
System.out.printf("Bank Accounts:" + "%n");
Iterator<CurrentAccount> itr = lista.iterator();
while (itr.hasNext()) {
CurrentAccount element = itr.next();
System.out.printf(element + " " + "%n");
}
System.out.println();

Respuestas:
Simplemente use ArrayList.contains (desiredElement) . Por ejemplo, si está buscando la cuenta conta1 de su ejemplo, podría usar algo como:
Editar: tenga en cuenta que para que esto funcione, deberá anular correctamente los métodos equals () y hashCode () . Si está utilizando Eclipse IDE, puede generar estos métodos abriendo primero el archivo fuente de su
CurrentAccountobjeto y seleccionandoSource > Generate hashCode() and equals()...fuente
Es mejor usar a
HashSetque anArrayListcuando verifica la existencia de un valor. Documentos de Java paraHashSetdice:"This class offers constant time performance for the basic operations (add, remove, contains and size)"ArrayList.contains()Es posible que deba iterar toda la lista para encontrar la instancia que está buscando.fuente
Por favor, consulte mi respuesta en esta publicación .
No es necesario iterar sobre el
Listsolo sobrescribir elequalsmétodo.Usar en
equalslugar de==Llámalo así:
fuente
this.name.equals(employee.getName())Podemos usar el
containsmétodo para verificar si existe un elemento si hemos proporcionado la implementaciónequalsyhashCodesi no, la referencia de objeto se usará para la comparación de igualdad. También en el caso de una listacontainsesO(n)operación en la que como esO(1)deHashSetpor lo mejor para su uso posterior. En Java 8, también podemos usar secuencias para verificar elementos en función de su igualdad o de una propiedad específica.Java 8
fuente
boolean itemExistsBasedOnProp = selectedR.stream().map(Request::getDesc).anyMatch(cn::equals);ahora lo necesito para extraer ese artículo! Es posible ??findAny: docs.oracle.com/javase/8/docs/api/java/util/stream/…java.util.Collection#streamSolo úsalo
.contains. Por ejemplo, si estuviera verificando si una ArrayListarrcontiene un valorval, simplemente se ejecutaríaarr.contains(val), lo que devolvería una representación booleana si el valor está contenido. Para obtener más información, consulte los documentos para.contains.fuente
Cuando la lista de matrices contiene un objeto de tipo de datos primitivo.
Cuando la lista de matrices contiene un objeto de tipo de datos definido por el usuario.
¿Cómo comparar los atributos de Objetos en una ArrayList?
Espero que esta solución te ayude. Gracias
fuente
fuente