如何使用 ListIterator? [英] How To Use ListIterator?

查看:27
本文介绍了如何使用 ListIterator?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将迭代器用于 ArrayList 为:

I was using iterator for ArrayList as :

List<String> al = new ArrayList<>();
// ----- Logic for adding elements-----
Iterator it = al.iterator();
// logic to retrieve elements----

然后它尝试在 ListIterator 上工作,就像这样.

Then it tried to work on ListIterator, like this .

ListIterator li = al.listIterator();
    while(li.hasNext()) {
        System.out.print(li.next()+" ");
    }

它奏效了......

我试过这个是为了向后检索

I tried this for backward retrieval

ListIterator li = al.listIterator();
while(li.hasPrevious()) {
        System.out.print(li.previous()+" ");
    }

但它不起作用.

以下代码有效.

ListIterator<String> li = al.listIterator(al.size());
    while(li.hasPrevious()) {
        System.out.println(li.previous()+" ");
    }

我想知道泛型有一些概念,但不是很清楚.请明确 Iterator 和 ListIterator 的概念.为什么 ListIterator 的一个语句在工作,另一个没有?

I wonder there is some concept of generics but does not know it clearly. Please clear concept for both Iterator as well as ListIterator. Why one statement of ListIterator is working other one not ??

推荐答案

第一个从列表的开头开始,因此没有任何先前的元素.

The first one starts from the beginning of the list, and thus doesn't have any previous element.

第二个从结尾开始,因此包含前面的元素.

The second one starts from the end, and thus has previous elements.

就这么简单.

这篇关于如何使用 ListIterator?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆