java基礎------LinkedList集合

LinkedList集合

java.util.LinkedList集合數據存儲的結構是鏈表結構。方便元素添加、刪除的集合。

LinkedList是一個雙向鏈表,那麼雙向鏈表是什麼樣子的呢,我們用個圖瞭解下

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wvrESkfK-1591708326542)(img\雙向鏈表.png)]

實際開發中對一個集合元素的添加與刪除經常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。這些方法我們作爲了解即可:

  • public void addFirst(E e):將指定元素插入此列表的開頭。
  • public void addLast(E e):將指定元素添加到此列表的結尾。
  • public E getFirst():返回此列表的第一個元素。
  • public E getLast():返回此列表的最後一個元素。
  • public E removeFirst():移除並返回此列表的第一個元素。
  • public E removeLast():移除並返回此列表的最後一個元素。
  • public E pop():從此列表所表示的堆棧處彈出一個元素。
  • public void push(E e):將元素推入此列表所表示的堆棧。
  • public boolean isEmpty():如果列表不包含元素,則返回true。

LinkedList是List的子類,List中的方法LinkedList都是可以使用,這裏就不做詳細介紹,我們只需要瞭解LinkedList的特有方法即可。在開發時,LinkedList集合也可以作爲堆棧,隊列的結構使用。(瞭解即可)

方法演示:

package likedlist;

import 集合.LinkedList.Linkedlist;

import java.util.Iterator;
import java.util.LinkedList;

/**
 * @author fengxun
 * @version 1.0
 * @date 2020/6/9 20:43
 *
 *addFirst(E e)  在該列表開頭插入指定的元素。
 *push(E e)將元素推送到由此列表表示的堆棧上。 換句話說,在該列表的前面插入元素。
 *addLast(E e)  將指定的元素追加到此列表的末尾。
 *
 * getFirst()  返回此列表中的第一個元素。
 * getLast() 返回此列表中的最後一個元素。
 *
 * removeFirst() 從此列表中刪除並返回第一個元素。
 * removeLast() 從此列表中刪除並返回最後一個元素
 *
 * pop() 從此列表表示的堆棧中彈出一個元素。換句話就是 刪除並返回此列表的第一個元素。
 *
 */
public class linkedlist {
    public static void main(String[] args) {
        //定義linkedlist集合
        LinkedList<String> linkedList = new LinkedList<>();
        //向集合中添加元素
        linkedList.add("a");
        linkedList.add("b");
        linkedList.add("c");
        //addFirst(E e)  在該列表開頭插入指定的元素。
        linkedList.addFirst("abc");
        System.out.println(linkedList);//[abc, a, b, c]
        //addLast(E e)  將指定的元素追加到此列表的末尾。
        linkedList.addLast("cba");
        System.out.println(linkedList);//[abc, a, b, c, cba]
        //push(E e)將元素推送到由此列表表示的堆棧上。 換句話說,在該列表的前面插入元素。
        linkedList.push("qwe");
        System.out.println(linkedList);//[qwe, abc, a, b, c, cba]
        //getFirst()  返回此列表中的第一個元素。
        String first = linkedList.getFirst();
        System.out.println("返回此列表中的第一個元素:"+first);//返回此列表中的第一個元素:qwe
        //getLast() 返回此列表中的最後一個元素。
        String last = linkedList.getLast();
        System.out.println("返回此列表中的最後一個元素:"+last);//返回此列表中的最後一個元素:cba
        // removeFirst() 從此列表中刪除並返回第一個元素。
        String removeFirst = linkedList.removeFirst();
        System.out.println("刪除並返回第一個元素:"+removeFirst);//刪除並返回第一個元素:qwe
        // removeLast() 從此列表中刪除並返回最後一個元素
        String removeLast = linkedList.removeLast();
        System.out.println("刪除並返回最後一個元素"+removeLast);//刪除並返回最後一個元素cba
        //pop() 從此列表表示的堆棧中彈出一個元素。換句話就是 刪除並返回此列表的第一個元素。
        String pop = linkedList.pop();
        System.out.println("刪除並返回此列表的第一個元素"+pop);//刪除並返回此列表的第一個元素abc
        //判斷集合是否爲空
        while (!linkedList.isEmpty()) { 
            System.out.println(linkedList.pop()); //彈出集合中的棧頂元素
        }
        //循環集合
        for (String s : linkedList) {
            System.out.println(s);//a b c
        }
        System.out.println("---------------------------------------");
        //使用迭代器
        Iterator<String> iterator = linkedList.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);//a b c
        }
    }
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章