LinkedList——复刻
1 前言
2 分析
由于LinkedList的底层是双向链表,所以使用Java实现双向链表就很重要,其次在链表的使用中,向头部和尾部添加内容会比向中间添加内容方便的多。
3.实现(MyLinkedList.java)
3.1 成员属性
1. 头节点:Node<E> first;
2. 尾节点:Node<E> last;
3. 链表的大小:int size;
3.2 成员方法
1.add
addFirst();
addLast();
add(E val);
add(int idx, E val);
addAll(MyLinkedList list);
addAll(int idx, MyLinkedList list);
2.remove
removeFirst();
removeLast();
remove(E val);
remove(int idx);
3..set
set(int idx, E val);
4. get
get(int idx);
5. isEmpty();
6. size();
3.3 内部的节点类(Node)
3.3.1 成员属性
1.内容存储:E item;
2.指向下一个节点:Node<E> next;
3.指向上一个节点:Node<E> prev;
3.3.2 成员方法
全参构造器public Node(E item, Node<E> next, Node<E> prev);
4.代码
gitee:https://gitee.com/pylxsky/java-data-type
github:…