ホームページ >Java >&#&チュートリアル >Javaドキュメントの解釈: LinkedListクラスのremoveFirst()メソッド関数の分析

Javaドキュメントの解釈: LinkedListクラスのremoveFirst()メソッド関数の分析

WBOY
WBOYオリジナル
2023-11-03 15:13:071018ブラウズ

Javaドキュメントの解釈: LinkedListクラスのremoveFirst()メソッド関数の分析

LinkedList クラスは、Java でよく使用されるコレクション クラスの 1 つで、二重にリンクされたリスト構造です。 LinkedList クラスは、追加、削除、その他の操作を含む、リンク リストを操作するためのメソッドを多数提供します。その中でも、removeFirst() メソッドは LinkedList クラスの重要なメソッドです。この記事では、このメソッドの機能を分析し、読者がこのメソッドの使用法をよりよく理解できるように、対応するコード例を提供します。

  1. removeFirst() メソッドの説明

removeFirst() メソッドは、リンク リストの先頭から最初の要素を削除し、その要素の値を返すために使用されます。リンクされたリストが空の場合、このメソッドは NoSuchElementException をスローします。このメソッドの詳細な定義は次のとおりです。

public E removeFirst() {
    if (size == 0)
        throw new NoSuchElementException();

    final Node<E> f = first;
    first = f.next;
    f.next = null;
    size--;
    return f.item;
}
  1. removeFirst() メソッドの機能分析

上記のコードからわかるように、 RemoveFirst() メソッドは非常に簡単です。以下では、このメソッドの主な機能を段階的に分析します。

(1) リンク リストが空かどうかを判断します。

メソッドの先頭で、if ステートメントを使用して、空かどうかを判断します。リンクされたリストのサイズは 0 です。リンクされたリストが空の場合、NoSuchElementException がスローされます。これは、removeFirst() メソッドの最初のステップです。

(2) ヘッド ノードの保存

前述したように、removeFirst() メソッドの主な機能は、リンク リストのヘッド ノードを削除することです。したがって、リンク リストの削除操作を実行する前に、最初のノードを保存する必要があります。

(3) 先頭ノードのポインティングを変更する

連結リストの先頭から最初の要素を削除するには、先頭ノードのポインティングを変更する必要があります。この方法では、ヘッド ノードの後継ノードをヘッド ノードに割り当てます。このようにして、ヘッド ノードは元のリンク リストの 2 番目のノードを指します。

(4) 削除したノードの参照をクリアする

Javaは自動ガベージコレクション機構を採用しているため、ノード削除後もリサイクルされていないメモリが残ります。この部分はメモリがメモリ空間を占有しているため、長期間リサイクルされないとメモリが蓄積され、この現象によりプログラムのメモリ使用量が高くなりすぎます。したがって、この状況の発生を回避するには、削除されたノード参照をメモリから削除して、ノードが占有しているメモリを解放する必要があります。

(5) リンクリストの要素数を変更する

要素を削除した後は、それに応じてリンクリストの要素数を1減らす必要があります。

(6) 削除された要素の値を返す

最後に、このメソッドは削除されたノードの値を返します。 2 番目のステップでヘッド ノードを保存したので、保存したヘッド ノードを直接返すことができます。

    #removeFirst() メソッドのコード例
次に、removeFirst() メソッドを使用する簡単な例を示します。これには次の主な手順が含まれます。

(1) LinkedList オブジェクトを作成し、いくつかの要素を追加します;

(2) RemoveFirst() メソッドを使用して、リンク リストの最初の要素を削除します;

(3) を出力します削除された要素 リンクされたリストの要素。

import java.util.LinkedList;

public class RemoveFirstTest {

    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();

        list.add("A");
        list.add("B");
        list.add("C");

        System.out.println("Before remove first: " + list);

        String first = list.removeFirst();

        System.out.println("Deleted element: " + first);
        System.out.println("After remove first: " + list);
    }
}

上記のコードを実行すると、出力結果は次のようになります。

Before remove first: [A, B, C]
Deleted element: A
After remove first: [B, C]

出力結果からわかるように、このメソッドはリンク リストの最初の要素を正常に削除し、正しく返します。要素の値。

    結論
LinkedList クラスは Java で一般的に使用されるコレクション クラスの 1 つであり、removeFirst() メソッドは重要なメソッドの 1 つです。この記事では、このメソッドの内部機能を分析し、読者がこのメソッドの使用法をよりよく理解できるように、対応するコード例を示します。この記事が少しでもお役に立てれば幸いです。

以上がJavaドキュメントの解釈: LinkedListクラスのremoveFirst()メソッド関数の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。