【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 にまとめてあります
