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 ...
随机推荐
- 使用Let's Encrypt手动创建https证书
Let's Encrypt是一个开源免费的SSL证书项目,是由 Mozilla.思科.Akamai.IdenTrust 和 EFF 等组织发起的,现由Linux基金会托管. 这篇博文分享的是使用let ...
- JSLint JavaScript代码质量审查工具汉化中文版隆重发布
JSLint是一款JavaScript代码质量审查工具,它可以指出代码中错误.不规范的地方,非常之严格,甚至多写一个空格都会发出警告. JSLint的审查规则,根据众多前辈多年编程经验而写,字字珠玑, ...
- jpa知识点
@NotFound(action=NotFoundAction.IGNORE) 使用hibernate 注解配置实体类的关联关系,在many-to-one,one-to-one关联中,一边引用自另一边 ...
- jQuery的XX如何实现?——4.类型检查
往期回顾: jQuery的XX如何实现?——1.框架 jQuery的XX如何实现?——2.show与链式调用 jQuery的XX如何实现?——3.data与cache机制 -------------- ...
- AngularJS快速入门指南05:控制器
AngularJS控制器用来控制AngularJS applications的数据. AngularJS控制器就是普通的JavaScript对象. AngularJS控制器 AngularJS app ...
- FreeIconMaker - 在线创建免费和时尚的图标
在设计一个网站或 Web 应用程序时,你不能否认网页设计工具的重要性,这些工具有助于简化您的任务和完成您的项目.FreeIconMaker.com 是一个免费的在线图标制作工具,您也可以创建自己的模板 ...
- 【UML】类图的几种关系总结
在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Compositi ...
- paip.jdbc 连接自动释放的测试
paip.jdbc 连接自动释放的测试 使用的mysql jdbc3.1.6 以及5.1.7 测试结果,在没有conn.close()的情况哈.. 作者Attilax 艾龙, EMAIL:146 ...
- iOS开发-友盟分享(1)
1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网 友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就 ...
- "Cannot find one of more components. Please reinstall the application"--安装VS2013之后不能正常打开的处理办法
今天,安装完VS2013之后,不能正常启动.总提示一个让人摸不到头脑的错误: "Cannot find one of more components. Please reinstall th ...