(集合输出)ListIterator双向迭代输出

ListIterator双向迭代输出

使用Iterator进行迭代输出有一个特点:只允许由前向后输出实现输出,而如果现在需要双向迭代输出,那么就必须依靠Iterator子接口:ListIterator接口来实现。

如果要想获取ListIterator接口对象,Collection并没有定义相关的方法,但是List子接口有,也就是说这歌输出接口是专门为List集合准备的。

在ListInterator中有如下方法:

  • 是否有前一元素:boolean hasPrevious();
  • 返回列表中的上一个元素并向后移动光标位置:E previous();

范例:实现双向迭代

import java.util.*;

public class IteratorDemo {

    public static void main(String[] args) {

        List<String> list= new ArrayList <String>();
        list.add("Hello");
        list.add("word");
        list.add("你好,");
        list.add("世界!");
        ListIterator<String> iterator = list.listIterator();    //获取迭代器

        System.out.println("-----------------------由前向后输出-------------------------");
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
        System.out.println("-----------------------由后向前输出-------------------------");
        while (iterator.hasPrevious()) {
            System.out.println(iterator.previous());
        }
        System.out.println();
    }

}

-----------------------由前向后输出-------------------------
Hello
word
你好,
世界!
-----------------------由后向前输出-------------------------
世界!
你好,
word
Hello

如果想要实现由后向前的遍历,那么首先要实现的是由前向后实现遍历处理,此时如果删除

System.out.println("-----------------------由前向后输出-------------------------");
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

这段代码,由后向前的数据将不会被输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值