カテゴリ: Javaのリスト 更新日: 2026/02/08

Javaのリストから特定の要素を検索する方法を完全解説(contains・indexOf)

396
Java のリストの中から特定の要素を検索する(contains, indexOf)

先生と生徒の会話形式で理解しよう

生徒

「JavaのArrayListにデータを入れたあと、特定の値が入っているか調べたいんですが、どうやるんですか?」

先生

「Javaのリストには、要素を検索するための便利なメソッドが用意されています。」

生徒

「for文で一つずつ調べるしかないと思っていました。」

先生

「containsやindexOfを使うと、もっと簡単に検索できますよ。」

生徒

「初心者でも分かるように教えてほしいです。」

先生

「では、Javaのリスト検索の基本から順番に説明していきます。」

1. Javaのリストで要素を検索するとは?

1. Javaのリストで要素を検索するとは?
1. Javaのリストで要素を検索するとは?

Javaのリストとは、複数のデータを順番に管理できるデータ構造です。 ArrayListやLinkedListなどが代表的で、業務システムやWebアプリでも頻繁に使われます。

リストを使っていると、「この値がリストの中に存在するか知りたい」 「どの位置にあるのか調べたい」といった場面が必ず出てきます。 そのときに活躍するのが、containsメソッドとindexOfメソッドです。

2. containsメソッドで要素の存在を確認する

2. containsメソッドで要素の存在を確認する
2. containsメソッドで要素の存在を確認する

containsメソッドは、指定した要素がリストの中に含まれているかどうかを調べるためのメソッドです。 戻り値は真偽値で、存在すればtrue、存在しなければfalseが返されます。

「あるかどうか」だけを知りたい場合には、containsを使うのが最も簡単で分かりやすい方法です。 Java初心者でも直感的に理解しやすいのが特徴です。


import java.util.ArrayList;
import java.util.List;

public class ContainsExample {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();
        fruits.add("りんご");
        fruits.add("みかん");
        fruits.add("ばなな");

        boolean result = fruits.contains("みかん");
        System.out.println(result);
    }
}

true

3. containsメソッドを使うときの注意点

3. containsメソッドを使うときの注意点
3. containsメソッドを使うときの注意点

containsメソッドは、equalsメソッドを使って要素の比較を行います。 そのため、文字列の場合は内容が一致していればtrueになります。

独自クラスをリストに入れている場合は、 equalsメソッドを正しく実装していないと期待通りの結果にならないことがあります。 初心者のうちは、StringやIntegerなどの基本的な型で使うと安心です。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. indexOfメソッドで要素の位置を調べる

4. indexOfメソッドで要素の位置を調べる
4. indexOfメソッドで要素の位置を調べる

indexOfメソッドは、指定した要素がリストの何番目にあるかを調べるためのメソッドです。 インデックス番号は0から始まる点に注意が必要です。

要素が存在する場合はその位置が返され、 存在しない場合はマイナス1が返されます。 「どこにあるか」を知りたい場合に便利なメソッドです。


import java.util.ArrayList;
import java.util.List;

public class IndexOfExample {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();
        fruits.add("りんご");
        fruits.add("みかん");
        fruits.add("ばなな");

        int index = fruits.indexOf("ばなな");
        System.out.println(index);
    }
}

2

5. indexOfメソッドの注意点

5. indexOfメソッドの注意点
5. indexOfメソッドの注意点

indexOfは、最初に見つかった要素の位置を返します。 同じ値が複数入っている場合でも、最初の位置しか返されません。

また、要素が存在しない場合はマイナス1が返るため、 そのままgetメソッドなどに使うとエラーの原因になります。 必ず結果をチェックしてから使うことが大切です。

6. containsとindexOfの使い分け

6. containsとindexOfの使い分け
6. containsとindexOfの使い分け

containsとindexOfは似ていますが、用途が異なります。 存在するかどうかだけを確認したい場合はcontains、 位置を知りたい場合はindexOfを使うのが基本です。

無理にどちらか一方に統一する必要はなく、 処理内容に応じて使い分けることがJavaプログラミングでは重要です。

7. for文で検索する方法との違い

7. for文で検索する方法との違い
7. for文で検索する方法との違い

for文を使って一つずつ比較する方法でも検索は可能ですが、 containsやindexOfを使うとコードが短くなり、可読性も向上します。

Javaには便利な標準メソッドが多く用意されているため、 まずはそれらを活用することが、初心者から一歩成長する近道です。

8. リスト検索を理解するメリット

8. リスト検索を理解するメリット
8. リスト検索を理解するメリット

Javaのリスト検索を理解すると、入力チェックや重複判定など、 実務でよく使う処理がスムーズに書けるようになります。

containsやindexOfは小さな機能ですが、 Javaの基礎力を支える重要な知識です。 繰り返し使って、自然に使いこなせるようになりましょう。

Javaのリストの一覧へ
新着記事
Flutterアプリの署名設定(Android・iOSのポイント)
Flutterアプリの署名設定を完全解説!Android・iOSのビルドとデプロイ初心者ガイド
Java のインターフェースとは?普通のクラスとの違いを学ぼう
Javaのインターフェースとは?普通のクラスとの違いを学ぼう【初心者向け解説】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
EC2の料金体系を完全解説!オンデマンド・リザーブド・無料枠の違いとは?
EC2の料金体系を完全解説!オンデマンド・リザーブド・無料枠の違いとは?
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク