Android - Überprüfen Sie, ob in einem Array ein Wert vorhanden ist
Ich habe ein array mit dem Namen "bob", die Werte enthält.
String[] bob = { "this", "is", "a", "really", "silly", "list" };
Wie kann ich wissen, ob "dumme" Wert existiert in dem array mit dem Namen bob ohne Durchlaufen?
InformationsquelleAutor der Frage user2065795 | 2013-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
List#contains
Methode. Für die, die Sie brauchen, um zu konvertieren das array zu einer Liste. Sie könnenArrays#asList()
Methode fot:InformationsquelleAutor der Antwort Rohit Jain
Konvertieren Sie das Array zu Liste mit statischen
Arrays.asList(T)
ab und überprüfen Sie mitList.contains(Object)
um zu überprüfen, ob ein Objekt existiert in der umgestimmt Sammlung.Traditionelle Art und Weise wäre allerdings der Iteration über das array und überprüfen Sie auf jedes element mit equals().
InformationsquelleAutor der Antwort PermGenError
Wenn du gehst, es zu überprüfen, eine Menge können Sie feststellen, es effizienter zu nutzen eine
HashSet
:InformationsquelleAutor der Antwort OldCurmudgeon
Hier ist eine einfache Möglichkeit, es zu tun:
Die Idee ist, konvertieren Sie Ihre Array ListArray Objekt.
aber es würde verbrauchen zusätzlichen Speicher, so stellen Sie sicher, es ist es Wert, bevor Sie Sie verwenden.
Bearbeiten
Wenn Sie nach der peformance und spart Speicher, die Sie verwenden können, binäre Suche algorthem statt:
auf diese Weise müssen Sie nicht bereitstellen müssen neue Objekte:
InformationsquelleAutor der Antwort Mr.Me
Es wird wahrscheinlich effizienter sein, um Ihre array deklarieren, wie
Collection
in den ersten Platz, oder schalten Sie ihn in eine, wenn Sie nicht derjenige, der erklärt es als BerufungArrays.asList()
mehrfach:InformationsquelleAutor der Antwort Sir Codesalot
obige code funktioniert bei mir nicht. primitive Typen nicht erlaubt, denke ich.
habe es manuell zu tun:
🙂
InformationsquelleAutor der Antwort rapture