この質問にはすでに答えがあります。
{"tube"、 "are"、 "fun"}で埋められた配列があるとしましょう。それからJTextFieldがあります。コマンドが見つかりません"。
私はJavaのドキュメントを見てみましたが、私が得ているのは私が質問やものが好きではないということです...だから、これはどのように行われますか? 「配列内」関数があることは知っていますが、この2つを組み合わせることはあまり得意ではありません。
ありがとう。
これが私がこれまでに持っているものです:
String[] dan = {"Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue"};
boolean contains = dan.contains(say.getText());
しかし、私はdan.containsにシンボルが見つからないようになっています
これはあなたが探しているものです:
List<String> dan = Arrays.asList("Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue");
boolean contains = dan.contains(say.getText());
のリストがある場合繰り返さない値、を使用することを好むSet<String>
どれが同じ含む方法
つかいますArrays.asList()
で配列をラップするList<String>
これはcontains()
方法:
Arrays.asList(dan).contains(say.getText())
これはJava 8でStreamを使って行うことができます。
import java.util.stream.Stream;
String[] stringList = {"Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue"};
boolean contains = Stream.of(stringList).anyMatch(x -> x.equals(say.getText());
asList
パラメータ化されていないジェネリックを返します。 - John Henckel
配列内の値をソート順に整理できる場合は、次のようにします。Arrays.binarySearch()
。それ以外の場合は、ループを作成して線形検索を行う必要があります。配列内に大きな(数十を超える)文字列を配置する予定の場合は、代わりにSetを使用することを検討してください。
#binarySearch
"配列に相互に比較できない要素(文字列や整数など)が含まれている場合、その要素の自然順序付けに従って並べ替えることはできないため、結果は未定義になります。しないつかいますbinarySearch
にInteger
またはString
、またはせいぜい半順序を持つことができる任意の要素。 - Aleksandar Dimitrov
contains
配列ではなく、Set
!!! - Stephen C