turismo rodrigo mundi mujeres mapa manila idioma filipinas español duterte java

java - rodrigo - Un trazador de líneas para comprobar si el elemento está en la lista



manila filipinas (6)

En JDK7:

if ({"a", "b", "c"}.contains("a")) {

Suponiendo que el proyecto de literales de colecciones de Project Coin pasa.

He estado trabajando de forma intermitente con Java / Python. Ahora en esta situación, quiero verificar si el elemento está en la lista y hacer cosas ...

Python dice:

if "a" in ["a", "b", "c"]: print "It''s there!"

¿Proporciona java alguna línea para esto en lugar de crear ArrayList / Set o una estructura de datos similar en pasos y agregarle elementos?

Gracias


Hay un método Boolean contains (Object obj) dentro de la interfaz de la Lista.

Deberías poder decir:

if (list.contains("a")) { System.out.println("It''s there"); }

De acuerdo con el javadoc :

boolean contains(Object o) Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that (o==null ? e==null : o.equals(e)).


Podría intentar usar cadenas con un separador que no aparece en ningún elemento.

if ("|a|b|c|".contains("|a|"))


Puede usar java.util.Arrays.binarySearch para buscar un elemento en una matriz o verificar su existencia:

import java.util.Arrays; ... char[] array = new char[] {''a'', ''x'', ''m''}; Arrays.sort(array); if (Arrays.binarySearch(array, ''m'') >= 0) { System.out.println("Yes, m is there"); }

Tenga en cuenta que para que binarySearch funcione correctamente, la matriz debe ordenarse. De ahí la llamada a Arrays.sort () en el ejemplo. Si sus datos ya están ordenados, no necesita hacer eso. Por lo tanto, esto no es estrictamente una línea si primero debe ordenar su matriz. Desafortunadamente, Arrays.sort () no devuelve una referencia a la matriz, por lo que no es posible combinar sort y binarySearch (es decir, Arrays.binarySearch (Arrays.sort (myArray), key)) no funciona).

Si puede pagar la asignación adicional, el uso de Arrays.asList () parece más limpio.


Si realmente quiere un trazador de líneas sin colecciones, está bien, puede tener uno:

for(String s:new String[]{"a", "b", "c")) if (s.equals("a")) System.out.println("It''s there");

*sonreír*

(¿No es feo? Por favor, no lo use en código real)


Use Arrays.asList :

if( Arrays.asList("a","b","c").contains("a") )