Javaでリストから要素・要素数を取得する方法!

Java Java

Javaのリスト(ArrayList)の要素・要素数を取得する方法について書いています。
この記事ではリストに対して、下記の操作をしてみました。

・リストの要素をひとつ取得する
・リストから範囲を指定して新しいリストを作る
・リストを要素分、ループする
・要素数を取得する

載せているコードについては、OpenJDKのバージョン19で動作を確認しました。

リストから要素を取得する

リストから要素を取得するには、getメソッドを使うことができます。

例えば、下記のように使います。

import java.util.ArrayList;

public class GetListTest {
    public void exec() {
        ArrayList<String> fruits = new ArrayList<String>();
        fruits.add("apple");
        fruits.add("orange");
        fruits.add("grape");

        System.out.println(fruits.get(1)); // orange
    }
}

最初にリストを作るためにjava.util.ArrayListをインポートしています。
execメソッドで、getメソッドを使う処理をしています。

まずfruits変数に対して、文字列のリストを作って、3つの文字列を追加しました。
その後に、fruitsリストからgetメソッドを呼び出しています。

引数として渡しているのは要素番号です。
渡した要素番号の要素を取得することができます。

今回は1番を渡しているため、1番目の要素が取得できます。
リストは0番目から数えるので、プログラムを実行すると「orange」が出力されました。

リストから範囲で取得して、新しいリストを作成する

リストを要素番号の範囲で指定して、要素を取得し、新しいリストを作ることができます。(値は共有されます)
この操作をしたいときには、リストからsubListメソッドを使います。

例えば、下記のように使います。

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

public class GetListTest {
    public void exec() {
        ArrayList<String> fruits = new ArrayList<String>();
        fruits.add("apple");
        fruits.add("peach");
        fruits.add("orange");
        fruits.add("melon");
        fruits.add("grape");

        List<String> newFruits = fruits.subList(1, 3);

        for (String fruit : newFruits) {
            System.out.println(fruit);
        }
    }
}

最初にリストを作るためにjava.util.ArrayListをインポートしています。
subListメソッドの返り値を受け取るためにjava.util.Listもインポートしました。
execメソッドで、subListメソッドを使う処理をしています。

まずfruits変数に対して、文字列のリストを作って、5つの文字列を追加しました。
その後にfruitsリストからsubListメソッドを呼び出しています。

引数として渡しているのは、第1引数に開始位置、第2引数に終了位置です。
返り値として、リストの要素が範囲で切り取られて、範囲のリストが返ってきます。

今回は開始位置に「1」、終了位置に「3」を指定しているので、「peach・orange」が取得されます。
このリストの要素は共有されているので、newFruitsリストの要素変更すると、fruitsリストの要素も変わります。

最後にnewFruitsリストをループして値を出力しています。
プログラムを実行すると、下記のように出力され、範囲で取得できたことが確認できました。

peach
orange

リストでループ処理し、全要素を取得する

リストをループ処理して、全要素に対して処理をするにはfor文を使うと良いです。

拡張for文を使う

拡張for文を使うと、要素番号を指定する変数を用意することなく、ループ処理できます。

import java.util.ArrayList;

public class GetListTest {
    public void exec() {
        ArrayList<String> fruits = new ArrayList<String>();
        fruits.add("apple");
        fruits.add("peach");
        fruits.add("orange");

        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}

fruits変数に3つの文字列でリストを作りました。

次の処理で、拡張for文を使ってループ処理しています。
for文のコロン(:)の左側にループごとに要素を取得する変数、右側にループで使いたいリストを指定しています。

プログラムを実行すると、下記のように要素が取得できました。

apple
peach
orange

for文を使う

通常のfor文を使うときには、下記のように書くことができます。

for (int i = 0; i < fruits.size(); i++) {
    String fruit = fruits.get(i);
    System.out.println(fruit);
}

for文の「()」の中ですが、最初に変数iを定義して、初期値「0」を代入しています。
次に真ん中がループ条件です、fruitsの要素数よりも、変数iの値が低い間ループするようにしています。
そして、「i++」でループが回るたびにカウントアップするようにしました。

for文の配下の処理では、getメソッドを使って要素を取得し、出力しています。
プログラムを実行すると、こちらも先ほどと同様に下記のように、値が出力されました。

apple
peach
orange

要素数を取得する

リストから要素数を取得するには、リストからsizeメソッドを呼び出します。

import java.util.ArrayList;

public class GetListTest {
    public void exec() {
        ArrayList<String> fruits = new ArrayList<String>();
        fruits.add("apple");
        fruits.add("orange");
        fruits.add("grape");

        System.out.println(fruits.size()); // 3
    }
}

最初にfruits変数に3つの文字列でリストを作りました。

次にfruitsリストからsizeメソッドを呼び出しています。
これで、要素数が取得でき、このプログラムを実行すると「3」が出力されます。

リストから要素・要素数を取得する方法まとめ

今回はJavaでリストから要素・要素数を取得する方法について書きました。
記事の内容をまとめると、下記になります。

・リストから要素をひとつ取得するにはgetメソッドが使えた。
・リストから範囲で要素を取得して、リストを返すにはsubListメソッドが使えた。
・リストを拡張for文やfor文で、要素数がある間ループできた。
・要素数を取得するにはsizeメソッドが使えた。

コメント

タイトルとURLをコピーしました