Javaで配列に要素が含まれるか検索する3つの方法!

Java Java

Javaで配列に要素が含まれるか検索する方法について書いています。
配列に指定した要素が含まれるか調べるには、下記の方法で行うことができます。

・ループして、要素をひとつずつ確認する
・リストを新しく作って、containsメソッドを使う
・Arrays.streamからanyMatchメソッドを使う

ループして要素を確認する

ループして、要素をひとつずつ確認していく方法が思いつきます。
例えば、下記のように処理できます。

String fruits[] = {"apple", "grape", "peach", "orange", "banana"};
Boolean isExistPeach = false;

for (String fruit: fruits) {
    if (fruit == "peach") {
        isExistPeach = true;
    }
}

if (isExistPeach) {
    System.out.println("モモが配列に存在します!");
}

最初にfruits変数に5つの文字列要素で配列を作成しています。
今回は配列の中の要素に「peach」を含んでいるかループを回して確認してみます。

Boolean型のisExistPeach変数にfalseを入れて用意しました。
isExistPeachがtrueだったら、「peach」が配列にあることになります。

そして、拡張for文で配列の要素をひとつずつループして確認しています。
fruit変数にひとつずつ要素が設定されるので、if文を使って「peach」があるか確認して、あった場合にはisExistPeach変数をtrueにしました。

最後にif文でisExistPeach変数を判定していますが、今回は存在するので「モモが配列に存在します!」が出力されて処理が終わります。
このようにfor文でひとつずつ回して確認することが可能です。

リストを新しく作って確認する

配列から新しく、同じ要素を持ったリストを作ります。
その後に、リストからcontainsメソッドを使うことで、要素が含まれるか確認できます。

java.util.Arraysjava.util.Listをインポートする必要があります。

String fruits[] = {"apple", "grape", "peach", "orange", "banana"};

List fruitList = Arrays.asList(fruits);
if (fruitList.contains("grape")) {
    System.out.println("ブドウが配列に存在します!");
}

先ほどと同様に、fruits変数に5つの文字列要素で配列を作成しています。

その次の処理で、ArraysクラスからasListメソッドを呼んで、作成したfruits配列を渡しています。
これでリストとして返ってくるので、fruitList変数で受け取りました。

そして、fruitListからcontainsメソッドを呼び出しています。
渡しているのが、存在しているか確認したい要素になります。

今回はfruits配列に存在しているので「ブドウが配列に存在します!」を出力して処理が終わります。

anyMatchメソッドを使う

Arrays.streamからanyMatchメソッドを呼ぶことで、配列に要素が含まれるか確認できます。
Java 8以降で登場した機能とのことです。

java.util.Arraysをインポートする必要があります。

String fruits[] = {"apple", "grape", "peach", "orange", "banana"};
boolean isExistOrange = Arrays.stream(fruits).anyMatch("orange"::equals);

if (isExistOrange) {
    System.out.println("オレンジが配列に存在します!");
}

同様にして、fruits変数に5つの文字列要素で配列を作成しています。
次の行で、Arraysクラスからsteamメソッドを呼び出して、fruits変数を渡しています。

そしてStreamオブジェクトを返して、そこからanyMatchメソッドを呼び出しました。
メソッドに対して、存在するか確認したい要素を渡しました。

存在すれば、isExistOrange変数にtrueが返ってきて、存在しない場合にはfalseが返ってきます。
今回は、存在するため「オレンジが配列に存在します!」が出力されて処理が終わります。

配列に要素が含まれるか検索する方法まとめ

今回はJavaで配列に要素が含まれるか、検索して確認する方法について書きました。
記事の内容をまとめると、下記のようになります。

・ループを回して、要素が含まれるか調べることができた。
・配列の要素を使ってリストを新しく作って、containsメソッドで調べることができた。
・ArraysクラスからStreamオブジェクトを返して、anyMatchメソッドで調べることができた。

コメント

タイトルとURLをコピーしました