<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Java `LinkedList`示例 > 原文: [https://javatutorial.net/java-linkedlist-example](https://javatutorial.net/java-linkedlist-example) Java 中的`LinkedList`類使用雙鏈表來存儲元素,并且還提供了鏈表數據結構。 它實現了`List`和`Deque`接口,就像[`ArrayList`](https://javatutorial.net/java-arraylist-example) 類一樣。 就像數組一樣,`LinkedList`是線性數據結構,但是與數組不同,`LinkedList`中的元素是使用指針鏈接在一起的。 有一個指向第一個元素的指針,通常稱為“頭部”。 最后一個元素指向`null`元素。 此`null`元素意味著鏈表中沒有任何其他元素。 ![java-featured-image](https://img.kancloud.cn/05/3e/053ee0bb59842d92359246c98f815e0c_780x330.jpg) ## 關于 Java 中的`LinkedList`的重要了解是什么 * Java 中的`LinkedList`類允許重復的元素。 * Java 中的`LinkedList`類維護插入順序。 * Java 中的`LinkedList`類是不同步的。 * Java 中的`LinkedList`類允許快速操作,因為不需要進行任何移位。 * Java 中的`LinkedList`類可以是列表,棧甚至隊列。 ## `LinkedList`的局限性 * `LinkedList`類比數組需要更多的內存,因為它們的指針使用存儲。 * 由于我們不能僅通過它們的索引訪問每個元素,因此很難遍歷鏈表中的元素。 ## `LinkedList`的簡單說明 ![LinkedList in Java](https://img.kancloud.cn/49/9a/499af349bc821aa8d64c9639d4ce2704_965x222.jpg) Java 中的`LinkedList` 這里的頭是我上面提到的指針,該指針指向第一個元素。 第一個元素(以及鏈表中的每個單個元素)本質上具有兩件事 - 數據和下一個。 數據只是指定元素包含的內容,其次是指向下一個元素的指針。 最后,在圖示中我們可以看到 D 指向`null`,在鏈表中,`null`表示列表的末尾。 ## `LinkedList`中的構造方法 1. `LinkedList()`:用于構造一個空列表。 2. `LinkedList(Collection<? extends E> c)`:用于構造一個包含指定集合元素的列表,這些元素按順序由集合的迭代器返回。 ## `LinksList`中的方法 1. `boolean add(E e)`:將指定的元素添加到列表的末尾。 2. `void add(int index, E element)`:將指定的元素添加到指定的位置。 3. `void clear()`:從列表中刪除所有元素。 4. `Object clone()`:返回`ArrayList`的淺表副本。 5. `boolean contains(Object o)`:如果指定的元素在列表中,則返回`true`。 6. `Iterator<E> endingIterator()`:以反向雙端隊列的反向順序返回元素上的迭代器。 7. `E element()`:從列表中檢索第一個元素。 8. `E get(int index)`:返回列表中指定位置的元素。 9. `int indexOf(Object o)`返回列表中指定元素首次出現的索引,如果不存在則返回 -1。 10. `boolean offer(E e)`:將指定的元素添加為列表的最后一個元素。 11. `E pop()`:從列表表示的棧中彈出一個元素。 12. `void push(E e)`:將元素壓入列表表示的棧。 13. `E remove()`:用于檢索和刪除列表的第一個元素。 14. `E remove(int index)`:刪除列表中指定位置的元素。 15. `int size()`:返回列表中的元素數。 有關所有方法的文檔,請訪問 [Oracle 官方文檔頁面](https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html)。 ### 使用`add()`將元素添加到`LinkedList` 語法:`boolean add(E e)` ```java import java.io.*; import java.util.LinkedList; public class LinkedListExample { public static void main(String args[]) { LinkedList animals = new LinkedList(); animals.add("Elephant"); animals.add("Tiger"); System.out.println("The list is:" + animals); list.add("Lion"); // printing the new list System.out.println("The new List is:" + animals); } } ``` **輸出**: ```java The list is:[Elephant, Tiger] The new List is:[Elephant, Tiger, Lion] ``` ### 使用`push()`將元素推送到`LinkedList` 語法:`LinkedListObject.push(E e)` ```java import java.util.LinkedList; public class PushExample { // Main method public static void main(String[] args) { LinkedList<String> animals = new LinkedList<>(); animals.push("Elephant"); animals.push("Tiger"); animals.push("Lion"); // Printing the complete stack. System.out.println(animals); } } ``` **輸出**: ```java [Lion, Tiger, Elephant] ``` ### 使用`pop()`從`LinkedList`彈出元素 語法:`LinkedListObject.pop()` ```java import java.io.*; import java.util.LinkedList; public class LinkedListExample { public static void main(String args[]) { LinkedList animals = new LinkedList(); / Pushing an element in the stack animals.push("Elephant"); // Pushing an element in the stack animals.push("Tiger"); // Pop an element from stack String s = animals.pop(); System.out.println(s); // Pushing an element in the stack animals.push("Lion"); // Printing the complete stack. System.out.println(animals); } } ``` **輸出**: ```java Elephant [Elephant, Lion] ``` ### 使用`remove()`從`LinkedList`移除元素 語法:`LinkedList.remove()` ```java import java.io.*; import java.util.LinkedList; public class LinkedListExample { public static void main(String args[]) { LinkedList<String> animals = new LinkedList<String>(); animals.add("Elephant"); animals.add("Tiger"); animals.add("Lion"); System.out.println("LinkedList:" + animals); // Remove the head using remove() animals.remove(); // Print the final list System.out.println("Final LinkedList:" + animals); } } ``` **輸出**: ```java LinkedList:[Elephant, Tiger, Lion] Final LinkedList:[Tiger, Lion] ``` ### 使用`clear()`清除鏈表 ```java import java.io.*; import java.util.LinkedList; public class LinkedListExample { public static void main(String args[]) { LinkedList<String> animals = new LinkedList<String>(); animals.add("Elephant"); animals.add("Tiger"); animals.add("Lion"); System.out.println("Before clear:" + animals); animals.clear(); System.out.println("After clear: " + animals); // Adding elements after clearing the list animals.add("Elephant"); animals.add("Tiger"); animals.add("Lion"); System.out.println("After adding elements to empty list:" + animals); } } ``` **輸出**: ```java Before clear:[Elephant, Tiger, Lion] After clear: [] After adding elements to empty list:[Elephant, Tiger, Lion] ``` ### 使用`contains()`檢查`LinkedList`中是否存在元素 語法:`boolean contains(Object o)` ```java import java.io.*; import java.util.LinkedList; public class LinkedListExample { public static void main(String args[]) { LinkedList<String> animals = new LinkedList<String>(); animals.add("Elephant"); animals.add("Tiger"); animals.add("Lion"); System.out.println("\nIs 'Lion' in the linkedlist: " + animals.contains("Lion")); System.out.println("Is'Cat' in the linkedlist: " + animals.contains("Cat")); } } ``` **輸出**: ```java Is 'Lion' in the linkedlist: true Is 'Cat' in the linkedlist: false ``` ### 使用`size()`獲取`LinkedList`的大小 語法:`LinkedList.size()` ```java import java.io.*; import java.util.LinkedList; public class LinkedListExample { public static void main(String args[]) { LinkedList<String> animals = new LinkedList<String>(); animals.add("Elephant"); animals.add("Tiger"); animals.add("Lion"); System.out.println("The size of the linked list is: " + animals.size()); } } ``` **輸出**: ```java The size of the linked list is: 3 ``` ## 如何遍歷鏈表 有 5 種方法: 1. `For`循環 2. 增強的`For`循環 3. `While`循環 4. 迭代器 5. 集合的`stream()`(Java 8) **`For`循環** ```java LinkedList<String> linkedList = new LinkedList<>(); for (int i = 0; i < linkedList.size(); i++) { System.out.println(linkedList.get(i)); } ``` **增強`For`循環** ```java for (String temp : linkedList) { System.out.println(temp); } ``` **`While`循環** ```java int i = 0; while (i < linkedList.size()) { System.out.println(linkedList.get(i)); i++; } ``` **迭代器** ```java Iterator<String> iterator = linkedList.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } ``` **集合`stream()`(Java 8)** ```java linkedList.forEach((temp) -> { System.out.println(temp); }); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看