Java中逆序遍历List集合的实现
作者:算法与编程之美 发布时间:2022-04-03 23:48:13
标签:Java,逆序,遍历,List
1 问题
手写一个程序,完成List集合对象的逆序遍历
2 方法
创建List接口的多态对象
向创建好list集合添加元素
使用hasPrevious方法。
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class TestList {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
public static void main(String[] args) {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
//1.创建List接口的多态对象
List<String> list = new ArrayList<>();
//2.向创建好list集合添加元素
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
System.out.println(list);
System.out.println("listIterator的逆序遍历:");
ListIterator<String> it3 = list.listIterator();
while(it3.hasNext()){//判断是否有下一个元素可迭代
System.out.println(it3.next());//打印当前迭代到的元素
if(!it3.hasNext()){//直到迭代器没有下一个元素可迭代--到最后了
System.out.println("开始逆序迭代:");
while (it3.hasPrevious()){//判断是否有上一个元素可迭代
System.out.println(it3.previous());//打印获取到的上一个元素
}
break;//终止循环,不然会一直从头到尾,再从尾到头迭代
}
}
}
}
3 结语
针对逆序遍历List集合问题,提出使用 ListIterator 提供的hasPrevious方法,通过本次逆序遍历实验,证明该方法是有效的。除此方法外,还可使用Collections.reverse()方法来解决此问题。
来源:https://blog.csdn.net/gschen_cn/article/details/128763587


猜你喜欢
- 一、简介地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰。文件
- 前言作为一个新手,最近在学习C#,自己折腾弄了个简单的小说爬虫,实现了把小说内容爬下来写入txt,还只能爬指定网站。第一次搞爬虫,涉及到了网
- 在线程间通信方式中,我们了解到可以使用Semaphore信号量来实现线程间通信,Semaphore支持公平锁和非公平锁,Semaphore底
- 这个月根据需求在项目中做了一个时间选择器,虽然没有用到Android原生的时间选择控件,但我羞愧地发现自己竟然从来没有用过这方面控件!趁现在
- 二叉树是一种非常重要的数据结构。本文总结了二叉树的常见操作:二叉树的构建,查找,删除,二叉树的遍历(包括前序遍历、中序遍历、后序遍历、层次遍
- // 隐藏输入法 InputMethodManager imm = (InputMethodManager) getApplicationC
- 目录一 . 前言二 . 流程梳理2.1 实例化创建2.1.1 doGetBean 入口2.1.2 doGetBean 补充节点2.1.3 A
- java synthetic关键字。有synthetic标记的field和method是class内部使用的,正常的源代码里不会出现synt
- public static String getCharset(File file) { &n
- 协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下
- 互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了
- C# using 三种使用方式介绍1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的
- 在有些情况下,有很多列表不能一次性显示完整,需要对其进行分页处理博主自己也写了一个分页系统,在这里记录下来,方便以后直接拿来使用这篇文章De
- 当setCanceledOnTouchOutside(true),点击阴影处,dialog dismiss时键盘不消失的问题。如图一开始觉得
- 使用RestTemplate时报错RestClientException这是自己封装的一个发送请求的方法public Map&l
- Fragment必须是依存于Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期。官网这张图很好的
- spring boot 秉承约定优于配置,spring boot在静态资源的处理上就已经默认做了处理。1.默认资源映射映射”/**”的路径到
- 上一篇中我们介绍了自定义实现BaseAdapter的普通实现布局,然而上一章也说了普通实现的方式效率会很低,而且对系统开销也很大,所以,那样
- Struts2Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点
- ArrayList和LinkedList都实现了List接口,有以下的不同点:1、ArrayList是基于索引的数据接口,它的底层是数组。它