反向遍历 java_基于ArrayList编写支持反向遍历的List

一、概述List遍历是我们经常会使用到的一个功能,很多时候我们也会用到反向遍历,在用到反向遍历时我们常用的方法是通过for循环或者是对List反向排序来完成相应的操作,像下面代码这样:方法1:for(int i = list.size()-1; i>=0; i--) {System.out.println(list.get(i));}这个方法开上去就比较臃肿,写起来也相对繁琐一些。方法2:C...
摘要由CSDN通过智能技术生成

一、概述

List遍历是我们经常会使用到的一个功能,很多时候我们也会用到反向遍历,在用到反向遍历时我们常用的方法是通过for循环或者是对List反向排序来完成相应的操作,像下面代码这样:

方法1:

for(int i = list.size()-1; i>=0; i--) {

System.out.println(list.get(i));

}

这个方法开上去就比较臃肿,写起来也相对繁琐一些。

方法2:

Collections.reverse(list);

System.out.println(list);

这种方法看似不错,但是reverse改变了原list的结构,如果我们只是要反向遍历list而不想改变list的结构的话这个方法是不适用的,除非你想在遍历完list之后再次调用reverse把list变回去,这种做法当然是不值得推荐的。

那么有没有一种方法可以既不改变原有的List的结构,有可以很简洁的实现反向遍历呢?我个人认为,直接制作一个支持反向遍历的List就可以很好的解决这个问题。下面我们就从头开始制作支持反向遍历List。

二、准备工作

众所周知,所有的Collection都实现了Iterable接口,而Iterable接口中的iterator()方法就是用来实现集合类遍历的,那么我们是不是可以从这里开始入手。

还有一点,就是为什么要基于ArrayList去做这件事而不是直接实现List接口,原因很简单,如果我要实现List接口那么我就需要实现List接口中所有的方法,而我比较懒,不想再去实现List接口中的所有方法ÿ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值