List的遍历和删除元素
package test; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; public class ListExercise {
public static void main(String[] args){
List<String> list=new ArrayList<String>();
list.add("111");
list.add("222");
list.add("333");
list.add("444"); //1.for循环
// 1.1索引值 i 递增
// 优点:可以获取索引值。
System.out.println("========1.for循环:1.1 索引值 i 递增======");
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i));
} // 1.2索引值 i 递减
// 优点:可以获取索引值,可以删除数据。
System.out.println("=======1.for循环:1.2 索引值 i 递减======");
for(int i=list.size()-1;i>=0;i--)
{
System.out.println(list.get(i));
if("444".equals(list.get(i)))
{
list.remove(i);
}
}
//2. 增强for循环
// 缺点:不能获取索引值,也不能删除数据
System.out.println("=======2.增强for循环======");
for(String str:list)
{
System.out.println(str);
} //3.迭代器(原理:生成一个链表,链表的一个节点保存信息,节点的数据部分保存list的元素地址)
// 优点:可以删除元素。
// 缺点:不能获取索引值。
System.out.println("=======3.迭代器======");
Iterator<String> itr=list.iterator();
while(itr.hasNext())
{
String str=itr.next();
System.out.println(str);
if("222".equals(str))
{
itr.remove();
}
} System.out.println("==========打印list最后剩下的元素==========");
Iterator<String> itr2 =list.iterator();
for(;itr2.hasNext();)
{
System.out.println(itr2.next());
} }
}
运行结果:
========1.for循环:1.1 索引值 i 递增======
111
222
333
444
=======1.for循环:1.2 索引值 i 递减======
444
333
222
111
=======2.增强for循环======
111
222
333
=======3.迭代器======
111
222
333
==========打印list最后剩下的元素==========
111
333
List的遍历和删除元素的更多相关文章
- 【转】ArrayList循环遍历并删除元素的常见陷阱
转自:https://my.oschina.net/u/2249714/blog/612753?p=1 在工作和学习中,经常碰到删除ArrayList里面的某个元素,看似一个很简单的问题,却很容易出b ...
- Java HashMap 如何正确遍历并删除元素
(一)HashMap的遍历 HashMap的遍历主要有两种方式: 第一种采用的是foreach模式,适用于不需要修改HashMap内元素的遍历,只需要获取元素的键/值的情况. HashMap<K ...
- js 遍历集合删除元素
js 遍历集合删除元素 /** * 有效的方式 - 改变下标,控制遍历 */ for (var i = 0; i < arr.length; i++) { if (...) { arr.spli ...
- ArrayList循环遍历并删除元素的常见陷阱
在工作和学习中,经常碰到删除ArrayList里面的某个元素,看似一个很简单的问题,却很容易出bug.不妨把这个问题当做一道面试题目,我想一定能难道不少的人.今天就给大家说一下在ArrayList循环 ...
- 【Java】List遍历时删除元素的正确方式
当要删除ArrayList里面的某个元素,一不注意就容易出bug.今天就给大家说一下在ArrayList循环遍历并删除元素的问题.首先请看下面的例子: import java.util.ArrayLi ...
- Java中ArrayList循环遍历并删除元素的陷阱
ava中的ArrayList循环遍历并且删除元素时经常不小心掉坑里,昨天又碰到了,感觉有必要单独写篇文章记一下. 先写个测试代码: import java.util.ArrayList; public ...
- JAVA List 一边遍历一边删除元素
JAVA List 一边遍历一边删除元素,报java.util.ConcurrentModificationException异常 2015年02月10日 14:42:49 zhanzkw 阅读数:3 ...
- 【原理探究】女朋友问我ArrayList遍历时删除元素的正确姿势是什么?
简介 我们在项目开发过程中,经常会有需求需要删除ArrayList中的某个元素,而使用不正确的删除方式,就有可能抛出异常.或者在面试中,会遇到面试官询问遍历时如何正常删除元素.所以在本篇文章中,我们会 ...
- java list集合遍历时删除元素
转: java list集合遍历时删除元素 大家可能都遇到过,在vector或arraylist的迭代遍历过程中同时进行修改,会抛出异常java.util.ConcurrentModification ...
- java 集合list遍历时删除元素
本文探讨集合在遍历时删除其中元素的一些注意事项,代码如下 import java.util.ArrayList; import java.util.Iterator; import java.util ...
随机推荐
- ASP.NET中的KRE是什么?
KRE的英文全称是K Runtime Environment,其中K是ASP.NET vNext(后来叫ASP.NET 5)的项目代号. KRE是ASP.NET 5运行时环境,它是ASP.NET 5的 ...
- Jenkins2 - 下载与启动
文章来自:http://www.ciandcd.com 文中的代码来自可以从github下载: https://github.com/ciandcd 本文将引导jenkins初学者安装和配置jenki ...
- Java基础的一次总结
二重循环核心:就是我们学习的内容中,一直在不停的打印图形,当我们写完所有打印图形的题目后,我们站在一个 新的高度上来看二重循环解决图形问题的时候.我们知道核心思想就是:就是寻找外层循环变量i和内层循环 ...
- atitit. 浏览器插件 控件 applet 的部署,签名总结 浏览器 插件 控件 的签名安全机制o9o
atitit. 浏览器插件 控件 applet 的部署,签名总结 浏览器 插件 控件 的签名安全机制o9o 1. 服务器部署签名 1 2. 签名流程::生成密钥..导出cert正书,签名 1 3. ...
- 从MySQL 5.5到5.7看复制的演进
概要:MySQL 5.5 支持单线程模式复制,MySQL 5.6 支持库级别的并行复制,MySQL 5.7 支持事务级别并行复制.结合这个主线我们可以来分析一下MySQL以及社区发展的一个前因后果. ...
- javascript基础知识复习一
JavaScript 一.数据类型 A.String B.Number C.boolean 1.undefined.false.null.0.“”这五个返回的都是false: 2.NAN==NAN返 ...
- Spring之@Configuration配置解析
1.简单的示例: @Configuration @EnableConfigurationProperties({DemoProperties.class}) public class DemoConf ...
- SQL Server 2008 删除数据库帐号失败问题
SQL Server 2008 中单独为一个项目建立了一个账号zdhsa,结果发现无法删除. 问题:删除zdhsa失败. 解决:首先从"安全性"-"架构"中删除 ...
- strcmp传入nil导致崩溃
现象:连接电脑可以正常启动程序,不连接电脑启动程序就崩溃. 崩溃信息: BSXPCMessage received error for message: Connection invalid HW k ...
- 【Python排序搜索基本算法】之深度优先搜索、广度优先搜索、拓扑排序、强联通&Kosaraju算法
Graph Search and Connectivity Generic Graph Search Goals 1. find everything findable 2. don't explor ...