链接列表有四个节点,如下所示,我正在尝试迭代或遍历,所以我可以返回每个节点,如下所示...但我的代码只给了我第一个节点,并没有得到其余的节点返回...
Cary,USA,人口:40000
美国罗利,人口:34300
Apex,USA,人口:60000
达勒姆,美国,人口:34000
public T retrieveAll(TableInterface<City, String> inChart) {
Node tmp = head;
while(tmp != null) {
tmp = tmp.getNext();
return (T) head.getItem();
}
return null;
}
答案 0 :(得分:6)
一个方法一次只能返回一个东西。您的方法停止并在它到达return
语句时返回。要返回多个内容,您必须将其作为ArrayList
或数组返回。
答案 1 :(得分:2)
而不是在while
循环中返回。使用像add这样的东西来添加ArrayList
。
然后在最后返回ArrayList
。
答案 2 :(得分:0)
您将在第一次迭代中从您的方法返回,这就是您只获得第一个Node的原因。
要解决此问题,您应该从while循环中删除return,并在迭代时将您的节点添加到集合中,并在最后返回该集合。