第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

LinkedList對象如何使用Syso輸出內(nèi)容?

LinkedList對象如何使用Syso輸出內(nèi)容?

回首憶惘然 2021-04-07 13:14:58
我已經(jīng)編寫了一小段代碼來實現(xiàn)鏈接列表數(shù)據(jù)結(jié)構(gòu)。我有一個內(nèi)部類“節(jié)點”,其中有兩個字段“節(jié)點”和“值”。鏈表的構(gòu)造方法接受int值參數(shù),并將該值分配給Node對象,然后將Node對象添加到該LinkedList對象。我的問題是java.util.LinkedList的哪個代碼使列表對象被打印為數(shù)字列表,而不是其對象的地址?當(dāng)我打印“ list1”時,輸出為[3,4]。當(dāng)我打印“列表”時,輸出是對象地址的哈希碼。我toString()在java.util.LinkedList課堂上沒找到。如何制作代碼以打印LinkedList的內(nèi)容?下面是代碼:class LinkedList {    Node first;    Node getNode(){        return new Node();    }    class Node{        Node next;        int value;    }    void add(int value){        Node n=this.getNode();        n.value=value;        n.next=null;        if (first==null){            first=n;        } else{            first.next=n;        }    } }public class LinkedListTest{    public static void main(String[] args) {        LinkedList list=new LinkedList();        java.util.LinkedList<Integer> list1=new java.util.LinkedList<>();        list1.add(3);        list1.add(4);        list.add(1);        list.add(2);        System.out.println(list);        System.out.println(list1);    }}
查看完整描述

2 回答

?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊

您的類LinkedList(建議您重命名它,因為它可能與混淆java.util.LinkedList)需要重寫method Object::toString,該方法在打印到控制臺中被調(diào)用。


我在java.util.LinkedList類中沒有找到toString()。


有點偵探性的工作-您必須單擊LinkedList<E>擴(kuò)展的源代碼,然后再擴(kuò)展AbstractSequentialList<E>,AbstractList<E>最后擴(kuò)展AbstractCollection<E>(源代碼)類,在該類中,重寫的Object::toString方法負(fù)責(zé)所有元素的類似于字符串的表示形式。在那里您可以得到啟發(fā)。


如何制作代碼以打印LinkedList的內(nèi)容?


這條路:


@Override

public String toString() {

    StringBuilder sb = new StringBuilder("[");

    if (first != null) {

        Node temp = first;

        String sep = "";

        while (temp != null) {

            sb.append(sep).append(temp.value);

            temp = temp.next;

            sep = ", ";

        }

    }

    return sb.append(']').toString();

}


查看完整回答
反對 回復(fù) 2021-04-21
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊

例如,您必須創(chuàng)建自己的toString方法


class LinkedList {


    //...

    @Override

    public String toString() {

        StringBuilder text = new StringBuilder("[");

        String del = "";

        if (first != null) {

            do {

                text.append(del).append(first.value);

                first = first.next;

                del = ", ";

            } while (first != null);

        }

        text.append(']');

        return text.toString();

    }

}

如果再次運行代碼,則輸出


[1, 2]


查看完整回答
反對 回復(fù) 2021-04-21
  • 2 回答
  • 0 關(guān)注
  • 238 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號