LinkedList链表结构:查询慢,增删快
- ArrayList必须开辟连续空间,
- LinkedList不用.
package com.li.changGe.collections.listGather;
import java.util.LinkedList;
public class LinkedListDemo01 {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("长歌");
list.add("世民");
list.add("则天");
Object o = list.get(0);
System.out.println(o);//长歌
Object first = list.getFirst();
Object last = list.getLast();
System.out.println("first:"+first+"-last:"+last);
//-------------------------------------------------------------
/**
* 删除时默认删除第一个元素
*
* [世民, 则天]
*/
list.remove();
System.out.println(list);
//[则天]
list.remove();
System.out.println(list);
}
}
源码分析
-
主要是有first和last两个默认Node对象
-
prev和next分别指向上一下和下一个Node对象
-
默认往最后面添加新元素
-
将对象的first和next作为链头和链尾,连接上链表
-
默认删除第一个元素
\Desktop\removeFirst.jpg)]