53 Stimmen

Einzeiler zur Prüfung, ob ein Element in der Liste enthalten ist

Ich habe mich immer wieder mit Java/Python beschäftigt. Jetzt in dieser Situation möchte ich überprüfen, ob das Element in der Liste ist und Sachen tun...

Python sagt:

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

Bietet Java jede One-Liner für diese anstatt erstellen ArrayList / Set oder ähnliche Datenstruktur in Schritten und Hinzufügen von Elementen zu ihm?

Danke

116voto

Mark Elliot Punkte 71774

Utilice Arrays.asList :

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

19voto

rayd09 Punkte 1789

Innerhalb der Schnittstelle List gibt es eine Methode boolean contains(Object obj).

Sie sollten in der Lage sein zu sagen:

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

Nach Angaben der 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)).`

8voto

Tom Hawtin - tackline Punkte 142461

In JDK7:

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

Vorausgesetzt, das Projekt "Münzsammlungen" wird durchgeführt.

Edit : Das war nicht der Fall.

3voto

Peter Lawrey Punkte 511323

Sie könnten versuchen, Strings mit einem Trennzeichen zu verwenden, das in keinem Element vorkommt.

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

3voto

PPartisan Punkte 7806

Ich würde verwenden:

if (Stream.of("a","b","c").anyMatch("a"::equals)) {
    //Code to execute
};

oder:

Stream.of("a","b","c")
    .filter("a"::equals)
    .findAny()
    .ifPresent(ignore -> /*Code to execute*/);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X