【问题标题】:Return all values of a dynamic stack linkedlist in a toString method在 toString 方法中返回动态堆栈链表的所有值
【发布时间】:2020-10-30 15:22:57
【问题描述】:

我试图弄清楚如何使用 toString 方法输出节点“最新”的所有版本,但我对如何使 while 循环在这种情况下正常工作感到困惑。我想知道是否有一种方法可以这样做。

这是toString() 方法:

    public String toString() {

        String output = "key: " + key ;
        Node<VersionedObject> currNode = latest;
        
        while (latest != null){
            output += latest+ "\n\t";
            latest.setNext(latest);
        } // This isn't particularly working


        //return "key: " + key +"\n\t" +latest + "\n\t" + latest.getNext(); // placeholder but it's getting closer. This one is INSANELY specific

        return output;
    }

,这是创建列表的方法:

    public StackOfVersionedObjects(String key, final Object object) {
        this.key = key;
        VersionedObject vrObject = new VersionedObject(object);
        latest = new Node<VersionedObject>(vrObject);
    }

,这是我的节点类:

    public class Node<T> {

    private T    data;
    private Node next;

    public Node() {
        data = null;
        next = null;
    }

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

    public T getData() {
        return data;
    }

    public Node<T> getNext() {
        return next;
    }

    public void setData(T data) {
        this.data = data;
    }

    public void setNext(Node<T> next) {
        this.next = next;
    }

    @Override
    public String toString() {
        return data.toString();
    }
}

【问题讨论】:

    标签: java linked-list stack tostring


    【解决方案1】:

    latest 更改为currentNode 并像这样循环

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("key: " + key);
        Node<VersionedObject> currNode = latest;
      
        while (currNode != null){
            builder.append(currNode + "\n\t");
            currNode = currNode.getNext();
        }
    
        return builder.toString();
    }
    

    【讨论】:

      猜你喜欢
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      相关资源
      最近更新 更多