linkedlist.java

来自「天乙代码src_531.rar 天乙代码src_531.rar 天乙代」· Java 代码 · 共 80 行

JAVA
80
字号
package com.laoer.bbscs.util;

/**
 * <p>Title: 天乙社区V5.0</p>
 * <p>Description: BBS-CS天乙社区V5.0</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: laoer.com</p>
 * @author 龚天乙
 * @version 5.0
 */

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() {
    //Remove all references in the list.
    LinkedListNode node = getLast();
    while (node != null) {
      node.remove();
      node = getLast();
    }

    //Re-initialize.
    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 + =
减小字号Ctrl + -
显示快捷键?