逆序遍历List集合

简介: 逆序遍历List集合

1 问题

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

2 方法

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

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

  3. 使用hasPrevious方法。

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()方法来解决此问题。

目录
相关文章
|
4月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
4月前
|
安全
List集合特有功能
List集合特有功能
42 2
|
4月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
8天前
|
Java 机器人 程序员
从入门到精通:五种 List 遍历方法对比与实战指南
小米是一位热爱分享技术的程序员,本文详细介绍了 Java 中遍历 List 的五种方式:经典 for 循环、增强 for 循环、Iterator 和 ListIterator、Stream API 以及 forEach 方法。每种方式都有其适用场景和优缺点,例如 for 循环适合频繁访问索引,增强 for 循环和 forEach 方法代码简洁,Stream API 适合大数据量操作,ListIterator 支持双向遍历。文章通过生动的小故事和代码示例,帮助读者更好地理解和选择合适的遍历方式。
24 2
|
2月前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
67 5
|
2月前
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
39 3
|
1月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
45 0
|
2月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
29 3
|
3月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
26 3
|
4月前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
47 5