For循环List中删除正确的方式

单线程public class Test {
    public static void main(String[] args)  {
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(2);
        Iterator<Integer> iterator = list.iterator();
        while(iterator.hasNext()){
            Integer integer = iterator.next();
            if(integer==2)
                iterator.remove();   //注意这个地方
        }
    }
}

多线程

使用 使用并发容器CopyOnWriteArrayList

时间: 2024-10-08 13:28:47

For循环List中删除正确的方式的相关文章

数据结构复习之顺序表3中删除元素的方式(你造吗)

#include<iostream> #include<cstring> #include<string> #include<queue> #include<map> #include<cstdio> using namespace std; template <typename T> class Sqlist{ public: T data[100]; int n; void initData(); void delet

spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式

spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式 在类名,接口头上注解使用在 @JsonIgnoreProperties(value={"comid"}) //希望动态过滤掉的属性 例 @JsonIgnoreProperties(value={"comid"}) public interface 接口名称{ } @JsonIgnoreProperties(value={"comid"}) public class 类名{

Java循环中删除一个列表元素

本文主要想讲述一下我对之前看到一篇文章的说法.假设跟你的想法有出入,欢迎留言.一起讨论. #3. 在循环中删除一个列表元素 考虑以下的代码.迭代过程中删除元素: ArrayList<String> list = new ArrayList<String>(Arrays.asList("a", "b", "c", "d")); for (int i = 0; i < list.size(); i++

遍历List过程中删除元素的正确做法(转)

遍历List过程中删除元素的正确做法   public class ListRemoveTest {     3 public static void main(String[] args) { 4         List<Integer> list = new ArrayList<Integer>(); 5         list.add(1); 6         list.add(2); 7         list.add(2); 8         list.add(

WebAPI.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式 从客户端xx中检测到有潜在危险的Request.Form值

事故现场 报错"从客户端 中检测到有潜在危险的Request.Form值" //后台代码 namespace Test { [RoutePrefix("TestClass")] [EnableCors("*", "*", "*")] public class TestClassController { [HttpGet] [Route("GetByName/{userId}/{userName}&

javascript在数组的循环中删除元素

在开发JavaScript应用的过程中,经常会遇到在循环中移除指定元素的需求. 按照常规的思路,就是对数组进行一个for循环,然后在循环里面进行if判断,在判断中删除掉指定元素即可. 但是实际情况往往不会像预想的那样顺利运行. 出现的问题场景还原 (function () { var arr = [1, 2, 2, 3, 4, 5]; for (var i = 0; i < arr.length; i++){ // 打印数组中的情况,便于跟踪数组中数据的变化 console.log(i + '

Gradle的依赖方式&mdash;&mdash;Lombok在Gradle中的正确配置姿势

写过java的都知道,lombok几乎在项目中处于不可或缺的一部分,但是lombok在Gradle的项目中配置并非人人都知道. 很多人在项目依赖中直接这样写 1 compile "org.projectlombok:lombok:1.18.4" 但这样的处理在Gradle 5.0以上被命令禁止了,在4.x的高级版本中编译时也会有对应的告警 12345 The following annotation processors were detected on the compile cla

Xcode 的正确打开方式——Debugging(转载)

Xcode 的正确打开方式——Debugging 程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode.这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式. “If debugging is the process of removing bugs, then programming must be the process of putting them in.”——Edsger W. Dijkstra 添加条件 有时候我们可

ODI中删除数据的处理

一.前提知识:数据从源数据库向数据仓库抽取时,一般采用以下几种方式: 全抽取模式如果表的数据量较小,则可以采取全表抽取方式,以TRUNCATE/INSERT方式进行数据抽取. 基于时间戳的抽取模式如果源数据表是不可更新的数据(如大多数事务处理数据)或者是不可删除数据(只能失效历史记录的情况),则根据变更时间戳,抽取最新变更的数据进行同步. 日志分析如果没有更新时间戳,或者源数据存在删除的情况,则可以进行日志分析,来执行最新数据变更的同步. 说明:时间戳的方式如果要处理删除数据的情况,需要在源表创