Java中的链表方法

时间:2019-05-16 18:52:13

标签: java

我试图了解.previous()方法的实际工作原理。

在此行:

System.out.printf("%s ", a.previous());

它首先在一行中打印实际的项目,然后转到上一个项目或它只是获得上一个值?

因为l1.size()为5,则循环条件检查第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());
    }

}

1 个答案:

答案 0 :(得分:-1)

a.previous获取当前值之前的值。为此,它首先检查当前a是否具有紧接其前的值(即,指向值a的节点)。如果是,则返回该值。然后由您的System.out.println

打印