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

目录
相关文章
|
3月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
3月前
|
安全
List集合特有功能
List集合特有功能
38 2
|
3月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
3月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
25天前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
52 5
|
23天前
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
18 3
|
1月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
27 3
|
2月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
22 3
|
3月前
|
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)。
43 5
|
3月前
|
存储 NoSQL 算法
Redis6入门到实战------ 三、常用五大数据类型(列表(List)、集合(Set)、哈希(Hash)、Zset(sorted set))
这是关于Redis 6入门到实战的文章,具体内容涉及Redis的五大数据类型:列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset(sorted set))。文章详细介绍了这些数据类型的特点、常用命令以及它们背后的数据结构。如果您有任何关于Redis的具体问题或需要进一步的帮助,请随时告诉我。