Java LinkedList peekLast() メソッド

Java LinkedList


peekLast()は Java におけるLinkedListクラスが提供するメソッドで、リンクリストの最後の要素を削除せずに参照するために使用します。リンクリストが空の場合、このメソッドは返します。null。

構文形式

E peekLast()

メソッドの特徴

1. 非破壊的操作

peekLast()メソッドはリンクリストの最後の要素を参照するだけで、その要素をリンクリストから削除しません。

2. 空リンクリストの処理

リンクリストが空の場合、peekLast()を返しますnull例外をスローしません。

3. 時間計算量

なぜならLinkedListは双方向リンクリストの実装であり、peekLast()メソッドの時間計算量は O(1) です。


メソッドのパラメータと戻り値

パラメータ

このメソッドは一切のパラメータを受け取りません。

戻り値

  • リンクリストの最後の要素を返します。
  • リンクリストが空の場合は、返します。null

使用例

基本的な使い方

例

import java.util.LinkedList;

public class PeekLastExample {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
       
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");
       
        String lastElement = list.peekLast();
        System.out.println("Last element: " + lastElement);  // 出力: Cherry
        System.out.println("LinkedList after peek: " + list);  // リンクリストは変更されません
    }
}

空リンクリストの場合

例

import java.util.LinkedList;

public class EmptyListExample {
    public static void main(String[] args) {
        LinkedList<String> emptyList = new LinkedList<>();
       
        String result = emptyList.peekLast();
        System.out.println("Result from empty list: " + result);  // 出力: null
    }
}

関連メソッドの比較

メソッド名 機能の説明 リンクリストが空のときの動作 リンクリストを変更するかどうか
peekLast() 最後の要素を参照する null を返す 否
getLast() 最後の要素を取得する 例外をスローする 否
removeLast() 最後の要素を削除して返す 例外をスローする である
pollLast() 最後の要素を削除して返す null を返す である

実際の応用シナリオ

1. キューの末尾を確認する

キューや両端キューを実装する際に、peekLast()キューの末尾の要素を削除せずに確認するために使用できます。

2. 条件付き処理

リンクリストのデータを処理する際に、最後の要素が特定の条件を満たすかどうかを先に確認してから、後続の操作を行うかどうかを決定できます。

3. ログ記録

リンクリストに最後に追加された要素を記録したいが、それを削除したくない場合は、このメソッドを使用できます。


注意事項

  1. null 値の処理:〜ためpeekLast()null を返す可能性がありますnull、戻り値を使用する前に null チェックを行う必要があります。

  2. 並行環境:LinkedListスレッドセーフではありません。マルチスレッド環境で使用する場合peekLast()追加の同期対策が必要です。

  3. 代替メソッド:リンクリストが空でないことを保証する必要がある場合は、使用を検討できます。getLast()ただし、リンクリストが空の場合に例外をスローすることに注意してください。NoSuchElementException。


まとめ

peekLast()メソッドはLinkedListクラスにおける実用的なユーティリティメソッドであり、リンクリストを変更せずに最後の要素を安全に参照する方法を提供します。このメソッドと関連メソッドの違いを理解することで、開発者はより効果的に使用できます。LinkedListクラス。

Java LinkedList

その他の拡張