当前位置: 首页 > news >正文

逆序遍历List集合

1 问题

手写一个程序,完成List集合对象的逆序遍历

f8a35df007c18db81099989732ffdff2.png

2 方法

  1. 创建List接口的多态对象
    d4fcd2a0e1dacf72ee5670e4c38c9b55.png

  2. 向创建好list集合添加元素
    412a03d1a98ac221e52b7169d213c0bf.png

  3. 使用hasPrevious方法。

33dc2926a5002ef6ea58f3f772247dda.png

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class TestList {
   public static void main(String[] args) {
       //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()方法来解决此问题。

相关文章:

  • VSCode配置C/C++环境
  • 芒果改进YOLOv7系列:超越ConvNeXt结构,原创结合Conv2Former改进结构,Transformer 风格的卷积网络视觉基线模型,高效涨点
  • Opencv调参神器——trackBar控件
  • 自动驾驶环境感知——视觉传感器技术
  • 详解Vue PC端如何实现扫码登录功能
  • Spring事务、事务隔离级别、事务传播机制
  • 前端图片压缩方案及代码实现
  • layui框架学习(1:布局)
  • ArrayList扩容机制~
  • 数据挖掘,计算机网络、操作系统刷题笔记36
  • 如何在IDEA中使用Maven构建Java项目?Maven的使用详细解读
  • 【stl -- 常用算法】
  • python图像处理(图像缩放)
  • 电商项目之同一笔单多次收款成功
  • OpenFeign总结
  • C++11: atomic 头文件
  • Create React App 使用
  • HTML5新特性总结
  • Iterator 和 for...of 循环
  • JavaScript-Array类型
  • JavaScript对象详解
  • Java精华积累:初学者都应该搞懂的问题
  • Making An Indicator With Pure CSS
  • Spark学习笔记之相关记录
  • SpringBoot 实战 (三) | 配置文件详解
  • SQL 难点解决:记录的引用
  • zookeeper系列(七)实战分布式命名服务
  • 动态魔术使用DBMS_SQL
  • 讲清楚之javascript作用域
  • 力扣(LeetCode)965
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 第二十章:异步和文件I/O.(二十三)
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # 达梦数据库知识点
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #pragma pack(1)
  • (zt)最盛行的警世狂言(爆笑)
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (力扣)1314.矩阵区域和
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .gitignore文件设置了忽略但不生效
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net访问oracle数据库性能问题
  • .net分布式压力测试工具(Beetle.DT)
  • .NET开源快速、强大、免费的电子表格组件
  • .NET序列化 serializable,反序列化
  • .net中应用SQL缓存(实例使用)
  • [].slice.call()将类数组转化为真正的数组
  • [04]Web前端进阶—JS伪数组
  • [bbk5179]第66集 第7章 - 数据库的维护 03