我在學習鏈表,並編寫了一個示例代碼來了解基本原理。我的代碼工作,但有沒有另一種方式來打印列表使用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