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

JavaでArrayListの最初と最後の要素を取得する方法をわかりやすく解説

JavaのArrayListクラスが提供するget()メソッドは、インデックス値(整数)を引数として受け取り、その位置に格納されている要素を返します。

つまり、このメソッドに0を渡せばリストの先頭(最初)の要素を取得でき、list.size()-1を渡せば末尾(最後)の要素を取得できるという仕組みです。

なお、空のリストに対してget()を呼び出すとIndexOutOfBoundsExceptionが発生するため、実際のコードではリストが空でないかを事前に確認しておくと安全です。

サンプルコード:最初と最後の要素を取得する

import java.util.ArrayList;
public class FirstandLastElemets{
    public static void main(String[] args){
        ArrayList<String> list = new ArrayList<String>();
        //ArrayListオブジェクトの生成
        list.add("JavaFX");
        list.add("Java");
        list.add("WebGL");
        list.add("OpenCV");
        list.add("OpenNLP");
        list.add("JOGL");
        list.add("Hadoop");
        list.add("HBase");
        list.add("Flume");
        list.add("Mahout");
        list.add("Impala");
        System.out.println("Contents of the Array List: \n"+list);
        //最初の要素を取得
        System.out.println("First element of the array list: "+list.get(0));
        //最後の要素を取得
        System.out.println("Last element of the array list: "+list.get(list.size()-1));
    }
}

実行結果

Contents of the Array List:
[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]
First element of the array list: JavaFX
Last element of the array list: Impala

応用例:ArrayListの最小値と最大値を求める

同じ考え方を応用すると、数値のArrayListから最小値と最大値を簡単に求められます。手順は以下の通りです。

  • ArrayListオブジェクトを作成します。

  • リストに要素を追加します。

  • Collectionsクラスのsort()メソッドを使ってリストを昇順にソートします。

  • ソート後、リストの最初の要素が最小値、最後の要素が最大値になります。

import java.util.ArrayList;
import java.util.Collections;
public class MinandMax{
    public static void main(String[] args){
        ArrayList<Integer> list = new ArrayList<Integer>();
        //ArrayListオブジェクトの生成
        list.add(1001);
        list.add(2015);
        list.add(4566);
        list.add(90012);
        list.add(100);
        list.add(21);
        list.add(43);
        list.add(2345);
        list.add(785);
        list.add(6665);
        list.add(6435);
        System.out.println("Contents of the Array List: \n"+list);
        //リストをソート
        Collections.sort(list);
        //最小値を取得
        System.out.println("Minimum value: "+list.get(0));
        //最大値を取得
        System.out.println("Maximum value: "+list.get(list.size()-1));
    }
}

実行結果

Contents of the Array List:
[1001, 2015, 4566, 90012, 100, 21, 43, 2345, 785, 6665, 6435]
Minimum value: 21
Maximum value: 90012

このように、get(0)get(list.size()-1)という2つの呼び出し方を覚えておけば、ArrayListの先頭・末尾の要素操作は自由自在に行えます。ソートと組み合わせれば、最小値・最大値の取得にもそのまま活用できる便利なテクニックです。

  1. 【Java】JTextFieldの入力値を読み取ってJListに追加する方法を解説

    JListとは JListはJComponentクラスのサブクラスで、ユーザーが単一選択または複数選択を行えるSwingのリストコンポーネントです。ただし、JListクラス自体にはスクロールバーの機能が備わっていないため、スクロールバーを表示したい場合はJScrollPaneクラスと組み合わせて使用します。JScrollPaneでJListをラップすれば、スクロールバーは自動的に管理されます。 DefaultListModelで項目を管理する DefaultListModelクラスは、リストモデルのシンプルな実装を提供しており、JListに表示される項目を管理するために利用できます。Defa

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

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