打印出链接列表

joe*_*joe 5 java printing string linked-list

当我尝试打印出我的链接对象列表时,它给了我:

linkedlist.MyLinkedList@329f3d

有没有办法简单地将其作为字符串打印?

package linkedlist;

import java.util.Scanner;

public class LinkedListTest {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        String item;

        MyLinkedList list = new MyLinkedList();
        System.out.println("Number of items in the list: " + list.size());

        Object item1 = "one";
        Object item2 = "two";
        Object item3 = "Three";

        list.add(item1);
        list.add(item2);
        list.add(item3);

        System.out.println("Number of items in the list: " + list.size());

        System.out.println(list);
}
Run Code Online (Sandbox Code Playgroud)

Sim*_*ant 10

如果您的列表实现了可以使用的java.util.list接口,则此行将列表转换为数组并打印出数组.

System.out.println(Arrays.toString(list.toArray()));
Run Code Online (Sandbox Code Playgroud)


Isw*_*San 5

好吧,默认情况下,java中的每个类都有toString来自Object类的方法.将打印的toString方法跟随和.Object classclass name@hash code

您可以覆盖toString方法LinkedList.例如:

class MyLinkedList extends LinkedList
{

    /* (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return "MyLinkedList [size=" + size + ", first=" + first + ", last="
                + last + ", modCount=" + modCount + "]";
    }

}
Run Code Online (Sandbox Code Playgroud)

然后你可以打印它:

 MyLinkedList list = new MyLinkedList ();
 System.out.println(list);
Run Code Online (Sandbox Code Playgroud)


Che*_*rot 1

您可以派生链表类并重写 toString 方法...