Java
 Computer >> コンピューター >  >> プログラミング >> Java

【Java】ArrayListから最初と最後の要素を取得する方法を徹底解説

はじめに

この記事では、JavaのArrayList(配列リスト)から最初と最後の要素を取得する方法について詳しく解説します。

リストは順序付けられたコレクションであり、要素を順番に格納してアクセスできます。インデックスを指定して要素の挿入・更新・削除・検索を行うメソッドが用意されており、重複した要素を保持することも可能です。

実行例

以下に入力と出力の例を示します。

入力:

入力リスト:[40, 60, 150, 300]

期待される出力:

最初の要素:40
最後の要素:300

アルゴリズム

ステップ1 - 処理を開始する
ステップ2 - ArrayList型の変数 input_list を宣言する
ステップ3 - リストに値を追加する
ステップ4 - リストが空でないことを確認し、get(0) と get(list.size() - 1) を使って最初と最後の要素を取得する
ステップ5 - 結果を表示する
ステップ6 - 処理を終了する

例1:mainメソッド内ですべての処理を実行する場合

まずは、すべての操作を「main」メソッドの中にまとめて記述するシンプルな例から見ていきましょう。

import java.util.ArrayList;
public class Demo {
    public static void main(String[] args){
        ArrayList<Integer> input_list = new ArrayList<Integer>(5);
        input_list.add(40);
        input_list.add(60);
        input_list.add(150);
        input_list.add(300);
        System.out.print("定義されたリスト: " + input_list);
        int first_element = input_list.get(0);
        int last_element = input_list.get(input_list.size() - 1);
        System.out.println("\n最初の要素: " + first_element);
        System.out.println("最後の要素: " + last_element);
    }
}

出力結果

定義されたリスト: [40, 60, 150, 300]
最初の要素: 40
最後の要素: 300

例2:オブジェクト指向スタイルでメソッドにカプセル化する場合

次に、要素の取得処理を独立したメソッドとして切り出し、オブジェクト指向プログラミングらしい構造で実装してみます。処理を再利用したい場合や、コードの見通しを良くしたい場合に有効なアプローチです。

import java.util.ArrayList;
public class Demo {
    static void first_last(ArrayList<Integer> input_list){
        int first_element = input_list.get(0);
        int last_element = input_list.get(input_list.size() - 1);
        System.out.println("\n最初の要素: " + first_element);
        System.out.println("最後の要素: " + last_element);
    }
    public static void main(String[] args){
        ArrayList<Integer> input_list = new ArrayList<Integer>(5);
        input_list.add(40);
        input_list.add(60);
        input_list.add(150);
        input_list.add(300);
        System.out.print("定義されたリスト: " + input_list);
        first_last(input_list);
    }
}

出力結果

定義されたリスト: [40, 60, 150, 300]
最初の要素: 40
最後の要素: 300

補足:Java 21以降で使えるより簡単な方法

Java 21以降では、SequencedCollectionインターフェースの導入により、getFirst()メソッドとgetLast()メソッドが利用可能になりました。これらを使うと、より直感的に最初と最後の要素を取得できます。

int first_element = input_list.getFirst();
int last_element = input_list.getLast();

注意点

空のリストに対してget(0)get(list.size() - 1)を呼び出すと、IndexOutOfBoundsExceptionがスローされます。そのため、実際の開発ではisEmpty()メソッドでリストが空でないことを事前に確認することをおすすめします。

if (!input_list.isEmpty()) {
    // 要素の取得処理
}

まとめ

ArrayListの最初と最後の要素を取得するには、get(0)get(list.size() - 1)を使用するのが基本です。Java 21以降であれば、より読みやすいgetFirst()/getLast()も選択肢になります。用途に応じて適切な方法を選び、空リストへの対処も忘れずに行いましょう。

  1. Pythonでリストの末尾からN個の要素を取得する方法

    Pythonのリストを扱っていると、先頭ではなく末尾(最後)の数個の要素だけを取り出したい場面がよくあります。例えば、最新のログエントリや直近のデータだけを取得したいケースなどです。この記事では、代表的な2つの方法「スライス」と「itertools.islice」を使った実装例を紹介します。 方法1:スライス(負のインデックス)を使う 最もシンプルで一般的な方法は、スライス記法に負の値を組み合わせることです。取得したい要素数を n として、[-n:] のように指定すると、リストの末尾からn個の要素を簡単に切り出せます。 コード例 listA = [Mon,Tue,Wed,Thu,Fri,Sat

  2. Pythonでリストの最初と最後の要素を交換する方法:4つのアプローチを徹底解説

    はじめにこの記事では、リストの最初の要素と最後の要素を入れ替えるという問題に対する解決策を、4つの異なるアプローチで解説します。問題の定義与えられたリストに対して、最後の要素を最初の要素と入れ替える処理を実装します。例えば、[t, u, t, o, r, i, a, l] というリストが与えられた場合、実行後は [l, u, t, o, r, i, a, t] のように、先頭と末尾の要素が入れ替わります。それでは、以下の4つのアプローチを順番に見ていきましょう。アプローチ1:一時変数を使う基本的な方法最も基本的な方法です。リストの長さを取得し、一時変数(temp)を使って最初の要素と最後の要素