java - 如何打印出 LinkedList 中的数据

标签 java

我已经成功地从头开始创建了一个 LinkedList。到目前为止它只能添加数据。没有删除或类似的东西。

我可以添加字符串、整数等,但打印我添加的数据时遇到问题。我怎么做?我想我必须先循环遍历它,但是如何呢?”

这是我的节点类:

public class Node {
  T data;
  Node<T> nextNode;

  public Node(T data) {
      this.data = data;
  }

  public String toString () {
      return data +"";
  }
}

这是 LinkedList 类:

public class LinkedList <T> {

Node<T> head;
Node<T> tail;

public void add (T data) {
    // where to add statements. if its empty or not
    Node<T>  node = new Node<T> (data);

    if (tail == null) { // empty list
        // nothng in the node = tail = node;
        head = node;
        tail = node;
    }
    else { // non empty list, add the new boogie train to the tail
        tail.nextNode = node; // new node pointing to tail
        tail = node; // update  
    }   
}

这是主要的。我从 Linkedlist 创建一个对象并使用通用的 add 方法添加我的数据。但是我如何在屏幕上打印出来呢?提前致谢。

public static void main(String[] args) {
    LinkedList<Object> list = new LinkedList<Object> ();
    list.add(15); // boogie1 = head
    list.add(16);
    list.add(10); // boogie end = tail

最佳答案

在 LinkedList 类中添加 toString 方法

public String toString() {
    Node<T> curr = head;
    StringBuilder sb = new StringBuilder();
    sb.append("LinkedList [");
    while (curr != null) {
        sb.append(curr.data);
        if (curr.nextNode != null) {
            sb.append(", ");
        }
        curr = curr.nextNode;
    }
    sb.append("]");
    return sb.toString();
}

然后在你的主方法中调用它:

System.out.println(list.toString());

关于java - 如何打印出 LinkedList 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26296320/

相关文章:

来自 Leanpub 的 Java 8 lambda 范围示例

java - 复合主键太长?

java - 在 Java 中,如何迭代接口(interface)的常量?

java - 在java中捕获两个异常并以不同的方式处理每个异常

java - Java线程中的System.exit

java - 如何处理 100 个按钮中的 onClick()?

java - 用 Java 存储可读可写的资源

Java 正则表达式 <省略号>

Java - USB 弹出后应用程序是否仍然运行

java - 数组中最小值的索引; "recursive"