我正在尝试理解.previous()方法的实际工作原理。
在这一行中:
System.out.printf("%s ", a.previous());
它首先打印一行中的实际a项,然后转到前一项,还是只获得前一项的值?
因为l1.size()是5,所以循环条件检查第五个位置是否有前一个值?
基本上,我只需要知道这是如何按顺序工作的。提前谢谢你。
public static void main(String[] args) {
String[] a = {"apple", "bee", "orange", "noob", "win"};
List<String> list1 = new LinkedList<String>();
for (String s : a) {
list1.add(s);
}
System.out.println("List1 Size: " + list1.size());
reverse(list1);
}
//reverse method
public static void reverse(List<String> l1) {
ListIterator<String> a = l1.listIterator(l1.size());
while (a.hasPrevious()) {
System.out.printf("%s ", a.previous());
}
}
发布于 2019-05-17 03:25:34
a.previous
获取直接位于当前值之前的值。它通过首先检查当前a
是否有紧跟在其前面的值(即指向值a
的节点)来完成此操作。如果是,则返回该值。然后由您的System.out.println
打印出来
https://stackoverflow.com/questions/56174910
复制相似问题