配列(リスト)の最後の要素を取得するには (last / lastOption)

各プログラミング言語での、配列(リスト)の最後の要素を取得する方法。

Go言語 arr[len(arr) - 1]
Javaの配列 arr[arr.length - 1]
JavaのList lst.get(lst.size() - 1)
Scala lst.last
Ruby arr.last
Perl $arr[$#arr]

Go言語 (golang)

サイズから最後のインデックスを計算してアクセスする。サイズが0の場合はpanicが発生する。配列とスライスとどちらも同じ。

arr[len(arr) - 1]

Java

配列

サイズから最後のインデックスを計算してアクセスする。サイズが0の場合は例外が発生する。

int[] arr = {3, 5, 7, 9};

// 配列の最後の要素を取得
System.out.println(arr[arr.length - 1]); // => 9

java.util.List

サイズから最後のインデックスを計算してアクセスする。サイズが0の場合は例外が発生する。

ArrayList<Integer> lst = new ArrayList<>();
lst.add(3);
lst.add(5);
lst.add(7);
lst.add(9);

// 配列の最後の要素を取得
System.out.println(lst.get(lst.size() - 1)); // => 9

Scala

Signature:

空のSeqに対してlastを呼び出すと、 java.util.NoSuchElementException の例外がスローされてしまう。

Ruby / JRuby

Array#last というメソッドを使う。配列が空の場合は nil になる。

arr = [10, 20, 30, 40, 50]

# 最後の要素
p arr.last
p arr[-1]
# => 50

lastは数字を引数で与えると、最後からその数だけ要素を抜き出して、配列で返してくれる。

arr = [10, 20, 30, 40, 50]

p arr.last
# => 50
p arr.last(1)
# => [50]
p arr.last(3)
# => [30, 40, 50]

Array#last | Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/last.html

Perl

# 配列の最後の要素を取得
my $last = $arr[$#arr]

$#arr で要素数より1小さい数、つまり最後の要素のインデックスを取得できる。

-> 配列のサイズの取得

sh (シェルスクリプト)

テキストファイルの最後の行を取得する方法

# 最後の1行を出力
tail -n1
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク