关于java:打印出链接列表

Printing out a Linked list

本问题已经有最佳答案,请猛点这里访问。

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

Linkedlist.mylinkedlist@329f3d

是否有一种简单的方式把这个打印成弦乐条?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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);
}


如果您的列表实现了您可以使用的java.util.list接口,那么这一行用于将列表转换为数组并打印出数组。

1
System.out.println(Arrays.toString(list.toArray()));

默认情况下,Java中的每个类都从EDCOX1×1类获得EDCOX1×0的方法。Object classtoString方法将打印class name,然后打印@hash code

您可以为LinkedList重写toString方法。例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
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 +"]";
    }

}

然后您可以打印它:

1
2
 MyLinkedList list = new MyLinkedList ();
 System.out.println(list);


可以派生链接列表类并重写ToString方法…