Java集合LinkedList用法總結(jié)

Java的LinkedList是一種常用的數(shù)據(jù)容器,與ArrayList相比,LinkedList的增刪操作效率更高,而查改操作效率較低。
LinkedList 實現(xiàn)了List 接口,能對它進行列表操作。
LinkedList 實現(xiàn)了Deque 接口,即能將LinkedList當作雙端隊列使用。
LinkedList 實現(xiàn)了Cloneable接口,能克隆。
LinkedList 實現(xiàn)了java.io.Serializable接口,這意味著LinkedList支持序列化,能通過序列化去傳輸。

構(gòu)造方法

LinkedList() 用于創(chuàng)建一個新的空linkedList;
LinkedList(Collection<? extends E> c) 使用一個集合創(chuàng)建一個新的linkedList。

public class Main {
    public static void main(String[] args) {
        LinkedList<String> linkedList1 = new LinkedList<>();
        System.out.println(linkedList1);
        String[] arr = {"H", "E", "L", "L", "O"};
        LinkedList<String> linkedList2 = new LinkedList<>(Arrays.asList(arr));
        System.out.println(linkedList2);
    }
}

輸出

[]
[H, E, L, L, O]

常用方法

public boolean add(E e),鏈表末尾添加元素,返回是否成功;
public void add(int index, E element),向指定位置插入元素;
public boolean addAll(Collection<? extends E> c),將一個集合的所有元素添加到鏈表后面,返回是否成功;
public boolean addAll(int index, Collection<? extends E> c),將一個集合的所有元素添加到鏈表的指定位置后面,返回是否成功;
public void addFirst(E e),添加到第一個元素;
public void addLast(E e),添加到最后一個元素;
public boolean offer(E e),向鏈表末尾添加元素,返回是否成功;
public boolean offerFirst(E e),頭部插入元素,返回是否成功;
public boolean offerLast(E e),尾部插入元素,返回是否成功;

public void clear(),清空鏈表;
public E removeFirst(),刪除并返回第一個元素;
public E removeLast(),刪除并返回最后一個元素;
public boolean remove(Object o),刪除某一元素,返回是否成功;
public E remove(int index),刪除指定位置的元素;
public E poll(),刪除并返回第一個元素;
public E remove(),刪除并返回第一個元素;

public boolean contains(Object o),判斷是否含有某一元素;
public E get(int index),返回指定位置的元素;
public E getFirst(), 返回第一個元素;
public E getLast(),返回最后一個元素;
public int indexOf(Object o),查找指定元素從前往后第一次出現(xiàn)的索引;
public int lastIndexOf(Object o),查找指定元素最后一次出現(xiàn)的索引;
public E peek(),返回第一個元素;
public E element(),返回第一個元素;
public E peekFirst(),返回頭部元素;
public E peekLast(),返回尾部元素;

public E set(int index, E element),設(shè)置指定位置的元素;

其他

public Object clone(),克隆該列表;
public Iterator<E> descendingIterator(),返回倒序迭代器;
public int size(),返回鏈表元素個數(shù);
public ListIterator<E> listIterator(int index),返回從指定位置開始到末尾的迭代器;
public Object[] toArray(),返回一個由鏈表元素組成的數(shù)組;
public <T> T[] toArray(T[] a),返回一個由鏈表元素轉(zhuǎn)換類型而成的數(shù)組;


遍歷

  1. 快速隨機訪問
        for (int size = linkedList.size(), i = 0; i < size; i++) {
            System.out.println(linkedList.get(i));
        }
  1. 自動增強的for循環(huán)
        for (String str: linkedList) {
            System.out.println(str);
        }
  1. 迭代器
        Iterator iter = linkedList.iterator();
        while (iter.hasNext()) {
            System.out.println(iter.next());
        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容