无法从 ArrayList 中删除[关闭]

2024-02-17

 import java.util;  
 class Driver{

 public static void main(String[] args) {
      ArrayList<String> lstStr = new ArrayList<String>();
      lsstStr.add("A");
      lsstStr.add("B");
      lsstStr.add("C");
      for(Iterator<String> it = lstStr.Iterator(); it.hasNext();)
      {
          str = it.next();
          if(str.equals("B")){lstStr.remove(str);}
      }
      for(Iterator<String> it = lstStr.Iterator(); it.hasNext();)
      {
        System.out.println(it.next());
      }
 }
 }

这并没有从列表中删除“B”。为什么第二次循环时Str不等于“B”。为什么?


您无法从正在迭代的集合中删除项目except using Iterator.remove http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html#remove%28%29- 你会得到一个ConcurrentModificationException。所以你的循环会是这样的:

for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
    String value = iterator.next();
    if (value.equals("B")) {
        iterator.remove();
    }
}

当然,你应该使用removeAll to just删除具有特定值的所有项目 - 但如果您需要基于简单相等以外的某些条件进行删除(例如“删除长度大于 5 的所有值”),则可以使用上述方法。另一种选择是收集所有要在新集合中删除的值,然后调用removeAll然后。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 ArrayList 中删除[关闭] 的相关文章

随机推荐

  • 按日期范围查询 dynamoDB

    我正在开发一个允许用户读书的应用程序 我正在使用 DynamoDB 来存储用户阅读的书籍的详细信息 并且我计划使用 DynamoDB 中存储的数据来计算统计数据 例如趋势书籍 作者等 我当前的架构如下所示 user id timestamp
  • Rails:如何让 Jquery 在单击后更新数据库列

    首先 我知道我正在尝试做的事情对于 Rails 来说并不典型 我愿意接受更好的替代方案的建议 我是 Rails 新手 所以欢迎提出建议 基本上 我有一个包含 5 个通知的通知栏 用户单击并看到通知后 我想将数据库中名为 saw 的列设置为
  • 片段和片段活动本质上比活动更快吗?

    片段和片段活动本质上比活动更快吗 如果我不需要在片段中加载我的活动 我应该使用 FragmentActivities 和 Fragments over Activity 吗 我问这个问题的原因是因为我多年来一直专门使用 Activity 而
  • Java 8 可选和 flatMap - 有什么问题?

    一些代码 public class Player Team team String name public class Team List
  • TDD 如何处理模拟对象中的更改

    在编写单元测试时 对于单元与之交互的每个对象 我正在采取这些步骤 从我对 JBrains 的理解中窃取 集成测试是一个骗局 http www infoq com presentations integration tests scam 在单
  • Grunt cssmin / CleanCSS 源映射变基

    我使用 cssmin 和以下 内容 文件夹结构 src dir1 style1 css images image1 png dir2 style2 css images image2 png dist styles min css styl
  • Chrome 不显示网站图标

    我无法显示该网站的图标http www lowcoupling com http www lowcoupling com在铬上 我已经用 Safari 检查过 图标显示正确 我应该如何修复它 UPDATE 这是我的 css 的第一部分
  • 用于执行外部 MSBuild 文件的 MSBuild 任务

    我正在尝试设置一个 MSBuild 文件 该文件将调用另一个 MSBuild 文件 我想知道实现此目的的最佳方法是什么 我们在构建服务器下载 MSBuild 文件的情况下使用它 然后根据参数执行相应的第二个文件 我知道我可以使用
  • 针对 Windows Phone ARM 目标的 Clang 交叉编译

    我想使用 Clang 为 Windows Phone ARM 目标编译一个用 C 编写的程序 有人有这方面的经验吗 什么是更好的方法 1 使用 Clang for Windows 和 MinGW 在运行 Windows 8 的主机上构建 C
  • 确定分发这些优惠券的最佳方式的算法是什么?

    这是我的问题 假设我要购买 3 种不同的商品 并且我最多有 5 张优惠券 优惠券可以互换 但用于不同商品时价值不同 以下矩阵给出了在不同商品上花费不同数量的优惠券的结果 coupons 1 2 3 4 5 item 1 10 off 15
  • Flutter Google 地图无法确定设备的当前位置

    我使用 Flutter 的 Geolocator 和 Google Maps 包来确定设备的位置 我利用圆形进度条来等待确定当前位置 一旦确定 Google 地图就会加载已识别的设备位置 当应用程序加载时 会显示圆形进度条 但尽管显示并接受
  • Symfony + Doctrine - 定义完整性约束错误时的错误消息

    当我尝试删除项目时出现完整性约束错误时 我试图显示一条不错的错误消息 我只想显示如下消息 而不是出现错误 500 您无法删除此内容 因为某些项目已链接到它 我已经搜索了一段时间 但我总是找到 如何解决此错误 的解决方案 我不想解决它 我只是
  • 跟踪表中的更改

    我的同事向我提出了一个我无法回答的问题 由于缺乏经验 该问题与跟踪表上相关字段的更改有关 假设我们有 3 个表 每个表有 20 个字段 让我们考虑一下这个示例 其中每个表都有 2 个字段 一个名为 LastUpdatedOn 另一个名为 L
  • 如何在字符串中存储颜色?

    如果颜色是人类可读格式 我想将颜色存储在字符串中 如果不是 则将其存储在 ToArgb 中 颜色是红色 然后将其存储在 Red 字符串中 如果颜色是绿色的某种变体 则将其存储为 ff40ff80 在运行时我想将此字符串转换回 Color 类
  • Rails 路由 - 如何将范围参数添加到 url_for 帮助器?

    我有资源生物 在视图和添加新生物的链接中是 link to Add new bio new admin bio 如果我将资源 bio放入这样的范围 namespace admin do scope bio type defaults gt
  • 使用 AutoMapper 映射字典

    鉴于这些类 我如何映射它们的字典 public class TestClass public string Name get set public class TestClassDto public string Name get set
  • Spring boot - 不是托管类型

    我使用 Spring boot JPA 并在启动服务时遇到问题 Caused by java lang IllegalArgumentException Not an managed type class com nervytech dia
  • sqlite3,IntegrityError:插入值时唯一约束失败

    为了防止我的数据库变得太大 我希望 sqlite 只插入尚未插入的值 我做了一些搜索 并认为最好的方法是使用 UNIQUE 约束 在我看来 插入不唯一的值时 sqlite 会崩溃 如何避免此错误并继续下一次提交 下面是一些相关代码 sql
  • Android 的自签名证书和 Loopj

    我正在尝试使用loopj http loopj com android async http制作async HTTP要求 效果很好 除了当我尝试使用自签名证书访问 https 网站时 我明白了 javax net ssl SSLPeerUn
  • 无法从 ArrayList 中删除[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions import java util c