【发布时间】:2014-04-27 10:37:45
【问题描述】:
我有一个充满 LinkedLists 的 ArrayList,我需要能够在该 arraylist 中显示特定的链表。
for(int i=0;i<my_lists.size();i++){
System.out.println(my_lists.get(my_lists.size()));
}
这显示在输出中:
kruskal.LinkedList@a4aad7f
kruskal.LinkedList@2cc47220
kruskal.LinkedList@1520a9d6
kruskal.LinkedList@136e2b70
kruskal.LinkedList@25e5d007
kruskal.LinkedList@12bc8f01
kruskal.LinkedList@19509443
作为我的输出。为什么它不显示我的链接列表?
这是我的 LinkedList 类:
package kruskal;
public class LinkedList {
Node head;
public LinkedList(){
this.head = null;
}
public void add (Object newData){
Node cache = head;
Node current = null;
if (cache == null)
current = new Node(newData, null);
else {
while ((current = cache.next) != null)
cache = cache.next;
cache.next = new Node(newData,null);
}
}
public Object getFront(){
return this.head.data;
}
}
【问题讨论】:
-
linkList 持有什么类型的对象?
-
因为您正在打印arrayList 中的元素,它们是linkedList,因此您打印的是每个linkedList 地址,而不是它的元素。
-
my_lists.get(my_lists.size()) 如何不抛出索引越界异常?
-
对原始发帖人的忠告:让您的 LinkedList 扩展 java.util.AbstractList,然后您将拥有一个有效的 toString() 实现以及一堆其他东西。
标签: java arrays list arraylist linked-list