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の先頭・末尾の要素操作は自由自在に行えます。ソートと組み合わせれば、最小値・最大値の取得にもそのまま活用できる便利なテクニックです。
-
【Java】JTextFieldの入力値を読み取ってJListに追加する方法を解説
JListとは JListはJComponentクラスのサブクラスで、ユーザーが単一選択または複数選択を行えるSwingのリストコンポーネントです。ただし、JListクラス自体にはスクロールバーの機能が備わっていないため、スクロールバーを表示したい場合はJScrollPaneクラスと組み合わせて使用します。JScrollPaneでJListをラップすれば、スクロールバーは自動的に管理されます。 DefaultListModelで項目を管理する DefaultListModelクラスは、リストモデルのシンプルな実装を提供しており、JListに表示される項目を管理するために利用できます。Defa
-
Pythonでリストの末尾からN個の要素を取得する方法
Pythonのリストを扱っていると、先頭ではなく末尾(最後)の数個の要素だけを取り出したい場面がよくあります。例えば、最新のログエントリや直近のデータだけを取得したいケースなどです。この記事では、代表的な2つの方法「スライス」と「itertools.islice」を使った実装例を紹介します。 方法1:スライス(負のインデックス)を使う 最もシンプルで一般的な方法は、スライス記法に負の値を組み合わせることです。取得したい要素数を n として、[-n:] のように指定すると、リストの末尾からn個の要素を簡単に切り出せます。 コード例 listA = [Mon,Tue,Wed,Thu,Fri,Sat