📄 linkedlist.java
字号:
package org.ehotsoft.yekki.util.link;
public class LinkedList {
private LinkedListNode head = new LinkedListNode( "head", null, null );
public LinkedList() {
head.next = head.previous = head;
}
public LinkedListNode getFirst() {
LinkedListNode node = head.next;
if (node == head) {
return null;
}
return node;
}
public LinkedListNode getLast() {
LinkedListNode node = head.previous;
if (node == head) {
return null;
}
return node;
}
public LinkedListNode addFirst( LinkedListNode node ) {
node.next = head.next;
node.previous = head;
node.previous.next = node;
node.next.previous = node;
return node;
}
public LinkedListNode addFirst( Object object ) {
LinkedListNode node = new LinkedListNode(object, head.next, head);
node.previous.next = node;
node.next.previous = node;
return node;
}
public LinkedListNode addLast( Object object ) {
LinkedListNode node = new LinkedListNode(object, head, head.previous);
node.previous.next = node;
node.next.previous = node;
return node;
}
public void clear() {
LinkedListNode node = getLast();
while (node != null) {
node.remove();
node = getLast();
}
head.next = head.previous = head;
}
public String toString() {
LinkedListNode node = head.next;
StringBuffer buf = new StringBuffer();
while (node != head) {
buf.append(node.toString()).append(", ");
node = node.next;
}
return buf.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -