【Java】Listにcontainsで部分一致の場合での判定を実装する
この記事では、JavaでのListにcontainsで部分一致の場合での判定も実装する方法を解説します。
まず、ListのcontainsメソッドではListに要素が含まれているか判定し、含まれている場合はtrueを返却します。
contains | Listに要素が含まれているか判定し、含まれている場合はtrueを返却します。 ※部分一致の場合はfalseとなります |
List<String> list= new ArrayList <>(Arrays.asList("abc","bcd","cde")); // 部分一致しているがfalse System.out.println(list.contains("ab")); // 部分一致しているがfalse System.out.println(list.contains("bc")); // 完全一致しているがtrue System.out.println(list.contains("abc")); //実行結果 false false true
上記のように通常のcontainsの使用の場合、完全一致でないとtrueとなりません。
部分一致を判定したい場合は、ループ処理で要素を取り出しString#containsメソッドを使用することで実装できます。
List<String> list= new ArrayList <>(Arrays.asList("abc","bcd","cde")); for (String str: list) { if(str.contains("ab")) { System.out.println("abを部分一致で判定できた"); } if(str.contains("bc")) { System.out.println("bcを部分一致で判定できた"); } if(str.contains("abc")) { System.out.println("abcを完全一致で判定できた"); } } // 実行結果 abを部分一致で判定できた bcを部分一致で判定できた abcを完全一致で判定できた bcを部分一致で判定できた //bcdのbcの部分一致時の出力
Javaの記事の一覧はJava にまとめてあります