我正在学习链表并编写示例代码来了解基础知识。我的代码有效,但是有没有另一种方法可以使用没有 while 循环的 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;
}
}
}
最佳答案
你可以这样做:
for (FriendNode current=g; current != null; current = current.next) {
System.out.println(current);
}
这是假设 g
是第一个节点,因为这是您在使用 while 循环打印列表时初始化 current
的方式。
本质上和 while 循环是一样的,除了初始化和递增被移到 for
表达式中,这使得它更紧凑。
关于java - 在java中使用for循环打印链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26624087/