ArrayList删除的问题
关于arraylist删除的问题
package com.utils.collection;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class DeleteList {/*** @param args*/public static void main(String[] args) {List<Integer> list = new ArrayList<Integer>();for (int i = 0; i < 10; i++) {list.add(i);}System.out.println("size =" + list.size());System.out.println(list.toString());delete5(list);// list.clear();
// list.removeAll(list);System.out.println("after delete, size is " + list.size());System.out.println(list.toString());}/*** 正序遍历删除* 结果:只删除了一半* 原因:每删除一个,size变小,要删除的下一个前移以为,下次只能是隔一个再删除* @param list*/public static void delete1(List<Integer> list){for (int i=0; i<list.size(); i++){System.out.println(list.toString());System.out.println("要删除第" + i + "个");list.remove(i);System.out.println("now size = " +list.size());}}/*** 倒序遍历删除* 结果:全部删除* 原因:每次都删最后一个* @param list*/public static void delete2(List<Integer> list){for (int i=list.size()-1; i>=0; i--){System.out.println(list.toString());System.out.println("要删除第" + i + "个");list.remove(i);System.out.println("now size = " +list.size());}}/*** java.util.ConcurrentModificationException* iterator遍历时不能进行删除,但是可以修改* @param list*/public static void delete3(List<Integer> list){for (Integer obj : list) {list.remove(obj);}}/*** java.util.ConcurrentModificationException* iterator遍历时不能进行删除,但是可以修改* @param list*/public static void delete4(List<Integer> list){for (Iterator<Integer> iterator = list.iterator(); iterator.hasNext();) {Integer obj = (Integer) iterator.next();list.remove(obj);}}/*** 使用iterator自带的遍历和删除方式,正常* @param list*/public static void delete5(List<Integer> list){for (Iterator<Integer> iterator = list.iterator(); iterator.hasNext();) {iterator.next();iterator.remove();}}
}
ArrayList删除的问题相关推荐
- arraylist删除指定元素_面试官:谈谈常用的Arraylist和Linkedlist的区别
Arraylist:底层是基于动态数组,根据下表随机访问数组元素的效率高,向数组尾部添加元素的效率高:但是,删除数组中的数据以及向数组中间添加数据效率低,因为需要移动数组. 例如最坏的情况是删除第一个 ...
- ArrayList删除某元素的几种方法
ArrayList删除某元素的几种方法 环境: 开发工具:IDEA jdk:1.8 一.正序遍历: List<Integer> list = new ArrayList();list.ad ...
- java arraylist 删除回车符_2种Java删除ArrayList中的重复元素的方法
这篇文章将给出两种从ArrayList中删除重复元素的方法,分别是使用HashSet和LinkedHashSet. ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素, ...
- arraylist删除指定元素_【追凶】ArrayList使用增强for遍历删除元素异常ConcurrentModification...
在工作中我们经常需要在遍历集合的时候删除元素,一开始我也以为只要在增强for循环中remove元素就可以了,现实给了我一个巴掌那就是ConcurrentModificationException. 首 ...
- arraylist删除指定元素_揭开ArrayList的外衣看本质
揭开ArrayList的外衣,看本质mp.weixin.qq.com 源码还是比较多的,安安静静的读完确实不易,所以我们读源码要有着重点. ArrayList的继承和实现关系 ArrayList的成 ...
- java arraylist删除元素_java集合类ArrayList操作之删除remove某些元素的案例分析
在java开发中,会经常出现需要删除java ArrayList的某些元素的场景,比如从在线用户列表的ArrayList中删除离线用户的ArrayList,但有的人会出现循环在线用户ArrayList ...
- java里arraylist删除节点方法_Java之——删除ArrayList中的反复元素的2种方法
ArrayList是Java中最经常使用的集合类型之中的一个.它同意灵活加入多个null元素,反复的元素,并保持元素的插入顺序.在编码时我们经常会遇 到那种必须从已建成的ArrayList中删除反复元 ...
- [ArrayList删除元素] 你需要了解的ArrayList如何安全的删除重复元素/ list去重
学习笔记使用 ArrayList特点:动态数组结构,元素有序,可重复的一个集合 import java.util.ArrayList; import java.util.Iterator; impor ...
- ArrayList删除元素的细则
删除ArrayList数组中某个元素,通常会使用for循环匹配目标元素完成删除操作. public void remove(List<String> list, String str) ...
最新文章
- Python3算法基础练习:编程100例( 21~ 25)
- #135. 二维树状数组 3:区间修改,区间查询
- Socket 实现聊天功能
- python打开文件_喜大普奔 | 如何在Win10下利用Python打开grib文件
- 实验一 软件工程准备
- AngularJS开发指南5:AngularJS表达式详解
- 产品原型设计5:移动App原型设计神器 - POP(Prototyping on Paper)
- 大数据分析有哪些步骤
- 机器人编程java面试题,7届国赛java试题 4: 机器人塔
- Windows网络编程获得本机IP地址
- 网页设计与制作(HTML+CSS)
- 怎么将计算机工具栏时间去除,电脑任务栏不显示日期只显示时间的详细处理方法...
- 16进制是否能整除 求余的运算
- bugku(Crypto)---ook
- 收入为什么增加记入贷方而不是借方--完美解答
- UE4.虚幻4.简单介绍和学习视频推荐
- windows中合并磁盘
- 汇编语言中的[...]和(...)
- 无线通信模块定点传输-点对点的具体传输应用
- 操作系统学习笔记——第二章 进程的描述与控制(二)
热门文章
- 顶尖中文大学计算机专业课程体系
- Java泛型(类、接口、方法)及通配符
- 安装配置tomcat
- 基于LAMP的cacti安装和配置问题处理(一)
- C# 简单日志文本输出
- MVC 从客户端中检测到有潜在危险的 Request.Form 值
- HTML CSS——margin和padding的学习
- python: 基本的日期与时间转换
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十八):kafka0.10.1 内置性能测试API用法示例...
- 面试题10-二进制中1的个数