나는 링크 된 목록을 배우고 있으며 기초를 이해하기위한 샘플 코드를 작성했습니다. 내 코드는 작동하지만 while 루프없이 for 루프를 사용하여 목록을 인쇄하는 또 다른 방법이 있습니까?for 루프를 사용하여 연결된 목록 인쇄
나는 목록에서 노드의 수를 이미 알고 있었기 때문에 내가 만든 for 루프를 사용하여 속이고있다. for 루프를 사용하여 목록을 인쇄하는 다른 방법이 있습니까? 즉 while 루프를 사용하여 목록을 인쇄 할 때 current
을 초기화하는 방법이기 때문에,
for (FriendNode current=g; current != null; current = current.next) {
System.out.println(current);
}
이 g
가 첫 번째 노드로 가정한다 :
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
두 번째 루프는'current'를 역 참조하기 때문에'NullPointerException'을 던지는 것처럼 보이지만 첫 번째 루프는'current'가'null'이 될 때까지 종료되지 않습니다. –