Wie kann ich String-Wert mit ArrayList des String-Typs in Java vergleichen?

7

Meine Anforderung ist String mit ArrayList zu vergleichen, die eine Liste von Strings enthält. Kann mir jemand vorschlagen?

    
shiva 07.07.2011, 08:37
quelle

6 Antworten

15

Verwenden Sie

%Vor%

Wenn der String in der ArrayList vorhanden ist, gibt diese Funktion true zurück, ansonsten wird false zurückgegeben.

    
Logan 07.07.2011 08:40
quelle
6

Das ist Ihre Methode:

%Vor%     
Java_Waldi 07.07.2011 08:44
quelle
5

Sehen Sie sich die Liste # an. enthält (T obj) Methode, wie folgt:

%Vor%     
Bohemian 07.07.2011 08:39
quelle
4

ArrayList kann eine oder mehrere Zeichenfolgen enthalten. Sie können String nicht mit ArrayList vergleichen. Sie können jedoch überprüfen, ob die ArrayList diesen String enthält oder nicht contains() method

verwendet %Vor%     
user831722 07.07.2011 09:34
quelle
2

Es gibt verschiedene Möglichkeiten, die Sie in Betracht ziehen könnten:

  • Eine einfache Schleife für jede Schleife, die auf jedem Mitglied der Liste equals verwendet, um sie mit der Zeichenfolge A zu vergleichen.
  • Sortieren aller Strings in der Liste, um den Vergleich zu verbessern und festzustellen, ob eine Zeichenfolge in der Liste mit A übereinstimmt.
  • Verwenden eines sortierten Satzes, um das oben genannte
  • zu erreichen
  • setzt alls string in den internen String-Pool mit der intern-Methode für jedes Element in der Liste und in String A. Dies ermöglicht den Vergleich von Strings mit == und nicht mehr gleich. Der Vergleich wäre dann viel schneller.
  • Verwenden einer hashmap, um bessere Vergleichsgeschwindigkeiten zu erreichen
  • eine Identität hashmap die beiden vorhergehenden Strategien zu mischen.

Nun, das sind Vor- und Nachteile dieser Methoden, alles hängt davon ab, was Sie tun möchten und warum und wie Sie Strings vergleichen.

Grüße,  Stéphane

    
Snicolas 07.07.2011 08:44
quelle
2

Wenn Sie Lambdaj verwenden möchten, überprüfen Sie das Vorhandensein der Zeichenfolge als:

%Vor%

Durch den statischen Import von select und equalTo erhöht sich die Lesbarkeit:

%Vor%     
Tapas Bose 07.07.2011 09:22
quelle

Tags und Links