LinkedList底层原理实现
1.底层
1.LinkedList的底层是通过链表来实现的。
2.链表的单元
链表的单元是节点(Node)
链表是由多个节点构成,每个节点都包含三个部分,头部指向上一个节点,中部指向该节点,尾部指向下一个节点
双向链表:
2.优缺点
缺点:添加慢,因为需要遍历找到到最后一个指向为null的节点
优点:插入和删除快 因为可以直接改变下一个节点的指向
3.源码实现(单链)
package test2;
//节点类
public class Node {
// 数据值
private Object obj;
// 下一个节点的内存地址
private Node nextnode;
public Node getNextnode() {
return nextnode;
}
public void setNextnode(Node nextnode) {
this.nextnode = nextnode;
}
public Object getObj() {
return obj;
}
// 无参构造
public Node() {
super();
}
// 有参构造
public Node(Object obj) {
this.obj = obj;
}
@Override
public String toString() {
return "Node [obj=" + obj + ", next=" + nextnode + "]";
}
<