我在尝试弄清楚如何在LinkedList中显示所有元素时遇到问题。我可以通过让一个arraylist来跟踪每个元素的索引来解决这个问题,但是我想在不使用arraylist或数组的情况下解决这个问题。
以下是我目前所拥有的,
public void displayItems()
{
ArrayList<Node> links = new ArrayList<Node>();
links.add(head);
for (int x = 0; x < count; x++)
{
links.add(links.get(x).getLink());
System.out.println(links.get(x).getData());
}
有没有办法以上面提到的类似方法显示所有元素,但不需要数组或ListIterator?
答案 0 :(得分:1)
一些例子如何在Java中循环使用LinkedList(包括你不喜欢的一个 - 使用Iterator):
LinkedList<Node> links = new LinkedList<Node>();
links.add(firstNode);
links.add(secondNode);
links.add(thirdNode);
/* For loop */
for(int i = 0; i < links.size(); i++) {
System.out.println(links.get(i).getLink());
}
/* For-each loop */
for(Node node: links) {
System.out.println(node.getLink());
}
/* While Loop*/
int i = 0;
while (links.size() > i) {
System.out.println(links.get(i++).getLink());
}
/* Iterator */
Iterator<Node> it = links.iterator();
while (it.hasNext()) {
System.out.println(it.next().getLink());
}
答案 1 :(得分:-1)
您可以使用整数作为全局变量,而将数据插入Linked List会增加此变量。
使用参数position在LinkedList类中编写方法。这里循环到位置,获取数据并返回相同的数据。