通过迭代器对list集合中的元素进行增删改操作
package com.liftsail.qiniurefererdemo.test;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
/**
* @Author: liftsail
* @Date: 2022/12/8 11:44
* @Description: 不积跬步无以至千里
*/
public class ListTest {
@SuppressWarnings({"rawtypes", "unchecked"})
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");//Object obj = new String();
list.add("b");
list.add("world");
list.add("c");
list.add("d");
list.add("e");
//1.并发错误
/*Iterator it = list.iterator(); //获取迭代器
while (it.hasNext()) { //判断集合中是否有元素
String str = (String) it.next(); //向下转型
if ("world".equals(str)) {
list.add("java");
//遍历的同时在增加元素,并发修改ConcurrentModificationException
}
}
list.forEach(a -> System.out.println(a));
*/
//2.如果想在遍历的过程中添加元素,可以用ListIterator中的add方法
ListIterator listIterator = list.listIterator();//获取迭代器(List集合特有的)
while (listIterator.hasNext()) {
String str = (String) listIterator.next(); //向下转型
if ("world".equals(str)) {
listIterator.remove();
listIterator.add("java-666");
}
}
System.out.println(listIterator);
list.forEach(a -> System.out.println(a));
//3.迭代器的指针
/*ListIterator li = list.listIterator();//获取迭代器
while (li.hasNext()) {
System.out.println(li.next());//获取元素并将指针向后移动
}
System.out.println("-----------------");
while (li.hasPrevious()) {
System.out.println(li.previous()); //获取元素并将指针向前移动
}*/
}
}
分类:
SpringBoot
, JAVA / java基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?