Arratlist的方法
add :System.arraycopy
remove(int i) 檢測i的合理性,將i之後的全部前移
,並且讓arr[sie --] =null;
remove(Object obj) ,先看是否爲null,不是進行遍歷,equals比較,找到之後,刪除(根據位置,同上)。
LinkedList
LinkedList 有個 first 節點 還有個last節點
Node節點的構成 是pre next 還有item.
add 插入節點
判斷下是不是 last 空的,如果是說明沒有節點當前,則作爲首節點插入。否則 將newnode ,
讓 變量 l =last ,last = newNode,l.next =last;
remove(Object)
如果是空,遍歷該節點得到null的位置。如果非空。遍歷節點,equals比較。
找到node之後, 定義變量 prev =node.prev,next =node.next;
判斷prev是否爲空,如果是空,則表示該節點是首節點,則fisrt =next; 否則,prev.next=next;
判斷next是否爲空,如果是空,則表示該節點是尾節點,則last =pre;否則, next.prev =prev;
get(i) 比較i和size,判斷從頭還是從尾部遍歷。