特定の文字列やリストに対象の文字列が
含まれているかどうか調べたいときに使用します。
検索や重複判定によく用いられるメソッドです。
containsとは
特定の文字列の存在を判定するメソッドです。
返却値はbooealn型で存在する場合「true」、
存在しない場合「false」を返却します。
書き方は以下の通りです
検索対象.contains(検索したいもの)
サンプルコード
リストを用意してリスト内の値を検索するサンプルコードと
リスト内の文字列に対して特定の文字列を含んでいるか判定してみます。
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<String>(
Arrays.asList("red", "blue", "green", "black"));
// リスト内の検索
if (list.contains("red")) {
System.out.println("Listに存在する");
}
// 文字列の検索
if (list[0].contains("b")) {
System.out.println("存在する文字列");
} else {
System.out.println("存在しない文字列");
}
// for文とif文を組み合わせてみる
for (String color: list) {
if (color.contains("e")) {
System.out.println("eを含む値:" + color);
}
}
}
}
実行結果
Listに存在する
存在しない文字列
eを含む値:red
eを含む値:blue
eを含む値:green
実行結果からリストの値の検索と文字列に対しても検索が行えていることが確認できます。
まとめ
containsメソッドを使用することで
リスト内の検索、文字列の検索が可能になります。
戻り値もbooleanで扱いやすく検索機能でよく使用される便利なメソッドです。
for文と組み合わせることで対象のリストや配列から特定の検索対象をみつけることが可能になります。
同じような扱い方ができるメソッドに「indexOf()」メソッドがあります。indexOf()メソッドはその名の通り検索文字列のインデックス番号が返却され、検索対象が見つからない場合「-1」が返却されるのでこちらも合わせて覚えておきましょう。