java循环删除List元素的方法总结
1、for循环
2、迭代器
3、过渡法
import java.util.*;
/**
* Created by HP on 2018/8/2.
*/
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
List<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");
list1.add("c");
list1.add("d");
List<String> list2 = new ArrayList<>();
list2.add("a");
list2.add("b");
list2.add("c");
list2.add("d");
System.out.println(delSegByFor(list));
System.out.println(delSegByIt(list1));
System.out.println(delSegByUsingAnotherList(list2));
}
/**
* 通过for循环,需要注意的是,
* remove一个元素之后,list的长度改变,下一个元素的位置也改变,
* 所以需要向前移位,以保证正常遍历所有元素
*/
private static List<String> delSegByFor(List<String> list){
for(int i = 0;i < list.size(); i++){
String seg = list.get(i);
if("b".equals(seg) || "c".equals(seg)){
list.remove(i);
i--;
}
}
return list;
}
/**
* 通过迭代器,容易理解,不易出错,推荐使用
*/
private static List<String> delSegByIt(List<String> list){
Iterator<String> it = list.iterator();
while (it.hasNext()){
String seg = it.next();
if("b".equals(seg) || "c".equals(seg)){
it.remove();
}
}
return list;
}
/**
* 该方法是通过先将需要删除的元素存入单独的list中,
* 调用源list的removeAll方法,删除目标元素
*/
private static List<String> delSegByUsingAnotherList(List<String> list){
List<String> remove = new ArrayList<>();
for(String seg:list){
if("b".equals(seg) || "c".equals(seg)){
remove.add(seg);
}
}
list.removeAll(remove);
return list;
}
}
运行结果如下图:
java循环删除List元素的方法总结的更多相关文章
- List 循环删除 指定元素的 方法
使用Iterator进行循环,在删除指定元素.如果使用for 或 foreach 在删除指定下标是,list.size 会相应的缩短且下标前移,导致相邻满足条件的元素未删除 Iterator<S ...
- python循环删除列表元素常见错误与正确方法
python循环删除列表元素 觉得有用的话,欢迎一起讨论相互学习~Follow Me 常见错误 常见错误一:使用固定长度循环删除列表元素 # 使用固定长度循环pop方法删除列表元素 num_list_ ...
- Java-Runoob-高级教程-实例-数组:11. Java 实例 – 删除数组元素
ylbtech-Java-Runoob-高级教程-实例-数组:11. Java 实例 – 删除数组元素 1.返回顶部 1. Java 实例 - 删除数组元素 Java 实例 以下实例演示了如何使用 ...
- jquery数组删除指定元素的方法:grep()
jquery数组删除指定元素的方法:grep() 金刚 数组 jquery javascript 元素 遇到的问题 今天遇到一个问题,删除数组中的一个指定元素,并返回新的数组. 我定义的js数组是这样 ...
- jQuery根据元素值删除数组元素的方法
http://www.jb51.net/article/68349.htm 本文实例讲述了jQuery根据元素值删除数组元素的方法.分享给大家供大家参考.具体如下: 例如删除C这个元素 ,前提不知道C ...
- Java循环删除集合多个元素的正确打开方式
首先说下不正确的打开方式: 第一:使用for循环删除集合的元素,示例代码如下 ArrayList<String> list = new ArrayList<String>(Ar ...
- (CSDN 迁移) JAVA循环删除List的某个元素
若列表中只可能存在一个则可以用简单的循环删除,不多说. 若列表中可能存在多个,尤其是可能有多个连续的需要删除,用简单循环有可能发生异常. 需要使用迭代器(Iterator),两种具体实现: 逻辑上是一 ...
- list循环删除单个元素
摘自https://www.cnblogs.com/pcheng/p/5336903.html JAVA中循环删除list中元素的方法总结 JAVA中循环遍历list有三种方式for循环.增强for循 ...
- for循环删除list元素陷阱
首先我们先看一段代码,如下: List<String> list=new ArrayList<String>(); list.add("123"); lis ...
随机推荐
- 关于KEIL下的图形化显示和输出问题
一 keil自带的虚拟示波器:只能在软件仿真下使用:右边的这个可以查看变量. 二 SEGGER的工具软件: 1 RTT:可以进行日志输出调试信息输出,需要配置工程,但不占用串口. 2 JSCOPE:可 ...
- javascript获取浏览器高度与宽度信息
网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth ...
- (转) IP子网划分
原文:http://blog.csdn.net/birdie_l/article/details/77994610 子网划分公式计算法 实例一 实例二 心算思路总结: B类公式算法举例: 总结:此表 ...
- js循环里进行回调,引用循环里的变量,发现只是最后值的问题
做项目的时候,栽在一个小地方,是这样的 我有很多个坐标点,我想把这些坐标点都绑定一个事件,当点击了这个坐标点之后,发送一个ajax 请求,将坐标点的id 发出去,等待显示返回的数据 但是实际当中,无论 ...
- mac 下安装 mysql
1. 下载mysql community server 2. 下载mysql workbench 3. 启动mysql server 4. 进入mysql命令行 5. 修改root密码 ALTER U ...
- windows 7下安装Apache 2.2
一. 软件下载 软件版本:apache_2.2.25-win32-x86-no_ssl.msi 二. 软件安装 双击安装,一路Next下去,直到安装完成. 三. 配置 在安装结束之后,在右下角的状态栏 ...
- Ubuntu瞎胡搞
ubutnu的几个必不可少的软件: 1.Guake,超级方便的终端 2.Unity tweak tool 3.VLC,本地视频播放器 4.MyPint,简单画图软件 5.GIMP,PS工具 Subli ...
- PHP post & get请求
<?php /** * HTTP 请求类 */ class HttpHelper { const METHOD_GET = 'GET'; const METHOD_POST = 'POST'; ...
- GitKraken使用教程-基础部分(8)
9. 远程(Remote)仓库 1) 添加远程仓库 一般在本地新建仓库后,需要添加一个远程仓库用于push/pull代码.鼠标移至GitKraken左侧区域的REMOTE栏,点击 该栏右边出现的 按 ...
- GET 和 POST详解
什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客户机与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程 ...