誰かが助けてくれることを願っていました。線形検索を使用して配列内の数値を見つける方法を知っています。しかし今、文字列配列で文字列を検索する方法を学びたいと思っています。
たとえば、生徒の名前の文字列配列がある場合、配列を検索してその配列内の特定の名前を見つけるにはどうすればよいでしょうか?
私はまだJavaに慣れていないので、誰かが私に簡単な例を書いてくれたら. ありがとう、また、これらの種類のものを検索するより良い方法や、線形検索をうまく行う方法はありますか? :)
誰かが助けてくれることを願っていました。線形検索を使用して配列内の数値を見つける方法を知っています。しかし今、文字列配列で文字列を検索する方法を学びたいと思っています。
たとえば、生徒の名前の文字列配列がある場合、配列を検索してその配列内の特定の名前を見つけるにはどうすればよいでしょうか?
私はまだJavaに慣れていないので、誰かが私に簡単な例を書いてくれたら. ありがとう、また、これらの種類のものを検索するより良い方法や、線形検索をうまく行う方法はありますか? :)
Arrays.asList()
配列をリストにラップするために使用します。contains()
次に、メソッドを使用してリストを検索します。
String[] a= {"is", "are", "then"};
Arrays.asList(a).contains("are");
配列を使用することもできますが、さらに数行のコードを記述する必要があります。contains()
メソッドもlinear
検索のみを行います。
public static boolean useLoop(String[] arr, String targetValue) {
for(String s: arr){
if(s.equals(targetValue))
return true;
}
return false;
}
equals(...)
String のコードは、 の代わりに String クラスのメソッドを使用する必要があることを除いて、数値の場合と同じにすることができます==
。
equals(...)
2 つの異なる String オブジェクトが同じ文字を持つ可能性があるため、使用する必要があります。しかし==
、それらは異なるオブジェクトであるため、正しくありません。
比較式の例:
myArray[i].equals(myString)
また
myString.equals(myArray[i])
注: 左側の部分が でないことを確認してくださいnull
。そうしないと、NullPointerException
.