【Java】containsメソッドで配列とListの値を検索する方法まとめ


Javaで配列やListの値を検索する方法が知りたい
containsメソッドの使い方を詳しく知りたい

配列やリストを扱う上で、値を検索したいと思ったことがありますよね。配列の要素の中に、探している値があるかどうか確かめる必要がある場合にです。

値を検索する方法として、Java言語の場合は、Arrays.asList.containsやList.contains、List.indexOfなどのメソッドを使う方法と正規表現を使う方法があります。

この記事では、配列の値の検索について

  • Arrays.asList.containsで配列を検索する方法
  • ArrayListでListを検索をする方法
  • 正規表現を使う方法

など基本的な内容から応用的な内容についても解説していきます。

Arrays.asList.containsで配列を検索する方法

配列内に特定の値が含まれているかを確認する方法にcontainsメソッドを使う方法があります。

containsメソッドを使用するにはjava.util.Arraysをインポートする必要があります。containsの引数には検索したい値を渡します。存在する場合は真となり条件内の処理を通ります。

asListについてですが引数に渡した配列をList型配列に変換して返すという処理になります。

つまり後述するList.containsの手法と同じ使い方になるということです。

数値を検索する場合

まずは数値型の配列の検索についてサンプルコードを見てみましょう。

実行結果:

このサンプルコードでは、数値型の配列(Integer)に30が含まれている場合は文字を表示しています。

文字列を検索する場合

次に文字列の検索についてもサンプルコードを見てみましょう。

実行結果

このサンプルコードでは、文字列型の配列に”HOGE”が含まれている場合は文字を表示しています。

使い方自体は変わらず数値が文字列に変わっただけですね。

ArrayListでListを検索をする方法

では続いて、ArrayListで文字列を検索する場合はどうすればよいかを見てみましょう。

なお、ArrayListを使用するためにはjava.util.ArrayListをインポートする必要があります。

List.containsを用いる場合

前項でのcontainsを使った方法と一緒です。

なお、Listを使用するためにはjava.util.Listをインポートする必要があります。

それではサンプルコードで確認していきましょう。

実行結果

このサンプルコードのように、asListで変換が入らない分こちらのほうがいいでしょう。

List.indexOfを用いる場合

今度はindexOfメソッドを使ってみます。

今までの内容とは少し違います。

indexOfメソッドはArrayList中の値を検索し、値を発見した場合はそのインデックスを返します。

List内に存在しない値を引数に渡すと-1が返ってきます。

ではサンプルコードで使い方を見てみましょう。

実行結果:

この実行結果を見ていただくことでどのような値が返ってくるかが分かるかと思います。

-1が返ってきたら配列に値が存在しないんだと言うことを覚えておいて下さい。

正規表現を使う方法

正規表現を使うことで特定の文字列を抽出、操作することができます。

正規表現については下記の記事で詳しく解説していますのでぜひご覧ください!

【Javaで正規表現】文字列をチェックするパターンの書き方とサンプル
更新日 : 2019年4月23日

まとめ

ここでは、値の検索方法について解説していきましたがいかがでしたか?

基本はcontainsメソッドを使うことで配列内に値が含まれているかどうかを調べることができます。そしてどこに配列の値があるかを調べたい場合はindexOfを使うことで場所を知ることができます。

検索方法自体は難しくないかと思いますので、忘れてしまった場合はこの記事を参考にして頂ければ幸いです!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

オータケ

オータケ

30歳、フリーランスプログラマ。中学の頃よりプログラミングに興味を持ちゲーム開発やWebサイト構築などを経験
新しいフレームワークやライブラリに興味があり革新的な機能が含まれていると泣いて喜ぶ。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説