我在学习链表,并编写了一个示例代码来了解基本原理。我的代码工作,但有没有另一种方式来打印列表使用for循环没有while循环?在java中使用for循环打印链表
我使用for循环作弊,因为我已经知道列表中的节点数。使用for循环打印列表有不同的方法吗?
public class FriendNode {
FriendNode next;
String name;
FriendNode(String name)
{
this.name = name;
this.next = null;
}
public FriendNode(String name, FriendNode n)
{
this.name = name;
this.next = n;
}
public FriendNode getNext()
{
return this.next;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
FriendNode g = new FriendNode("Bob");
FriendNode o = new FriendNode("Alice");
FriendNode k = new FriendNode("Tom");
FriendNode m = new FriendNode("Day");
g.next = o;
o.next = k;
k.next = m;
m.next = null;
FriendNode current=g;
while(current!=null)
{
System.out.println(current);
current = current.next;
}
for(int i =0; i<4;i++)
{
System.out.println(current);
current = current.next;
}
}
}
使用迭代器或每个循环。 – Madusudanan 2014-10-29 06:40:01
你的第二个循环看起来会抛出一个'NullPointerException',因为它取消了'current',但是第一个循环直到'current'为'null'才会退出。 – 2014-10-29 06:41:27