配列の要素に特定の値が含まれているかチェックする方法

配列の要素としてある特定の値が含まれているかどうか、チェックしたい場合にどうしたらよいか説明します。

例えば "カレー", "ラーメン", "ハンバーグ" という三つの文字列の要素を値として持っている配列があった時に、 その中に "ホットドッグ" があるかどうかチェックする場合です。この場合は存在しないので false を返すことを考えます。 "ラーメン" があるかどうか、といえば、"ラーメン" は要素に含まれるので true を返す、というような場合です。

配列の操作のための java.util.Arrays クラス

さて 「要素の中に特定の値を含むかどうか」 というチェックといえば、コレクションの contains メソッドがあります。 contains メソッドはまさに今ここで望んでいる動作をします。

しかしながら、あいにく配列では contains メソッドがありません。 では、どうしたらいいか、というところがポイントです。

そこで使えるのが Arrays クラスです。

配列 (arrays) からソートやサーチをするために用意されているのは、java.util.Arrays クラスですArrays クラスには便利に使えるスタティックメソッドが多数あります。

リストを返す asList メソッド

Arrays クラスの asList メソッドは、配列を受取りリスト (List) を返します。

java.util.Arrays.asList メソッドで配列からリストを取得し、リストの contains メソッドで要素を含むかどうかの判定をすれば、 特定の要素を含むかどうかの判定が簡単にできます。

サンプルコードは次のとおりです。

import java.util.Arrays;
import java.util.List;

public class ArrayTest1 {

     public static void main(String[] args) {
    
          String[] a = { "Google", "Apple", "Microsoft" };

          if(Arrays.asList(a).contains("Apple")){
               System.out.println("Apple - Found!");
          }
          else{
               System.out.println("Apple - Not Found!");
          }

     }

}

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Java 入門