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,判断从头还是从尾部遍历。