在 JAVA 8 中避免 ConcurrentModificationException 的最佳方法是什么

普拉萨德

我有下面的一段代码,它返回 ConcurrentModificationException。我可以看到一些在 java7 中处理相同问题的方法。相反,在 Java 8 中处理相同问题的最佳方法是什么

List<String> mylist = new ArrayList<>();
        mylist.add("test");

        mylist.forEach(str -> {
            if(str.equalsIgnoreCase("test"))
            {
                mylist.add("pass");
            }
        });
盘子

我想说避免它的最佳方法是避免在迭代时操作集合。

你可以做

if (myList.stream()
      .filter(s -> "test".equalsIgnoreCase(s))
      .findFirst()
      .isPresent()) {
    myList.add("pass");
}

或者更简单,正如 Ole 指出的那样

if (myList.stream()
          .anyMatch("test"::equalsIgnoreCase)) {
    myList.add("pass");
}

编辑:哎呀,纳曼是对的,你想添加尽可能多的“传球”匹配,所以

long matches = list.stream()
                   .filter("test"::equalsIgnoreCase)
                   .collect(Collectors.counting());
for (long i = 0; i < matches; i++) {
    list.add("pass");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java 8中MetaSpace的用途是什么?

来自分类Dev

Java 8中'()-> {}'的类型是什么?

来自分类Dev

Java 8中接口方法的隐式声明是什么?

来自分类Dev

在Java中IPC的最佳方法是什么?

来自分类Dev

在Java 8流中避免NoSuchElementException

来自分类Dev

在Java类中访问实例变量的最佳方法是什么?

来自分类Dev

在JavaFX 8中管理多线程的最佳方法是什么?

来自分类Dev

在Java中打印多维数组的最佳方法是什么?

来自分类Dev

在Java中退出循环的最佳方法是什么?

来自分类Dev

对已排序的列表进行排序时,列表迭代会在Java 8中引发ConcurrentModificationException

来自分类Dev

在Java List中合并相似对象的最佳方法是什么?

来自分类Dev

在Java 8中迭代流的最快方法是什么?

来自分类Dev

为什么此代码会在Java中引起ConcurrentModificationException?

来自分类Dev

在Java 8中产生具有无限循环的线程的最佳方法是什么?

来自分类Dev

如何避免Java中的“线程“主”中的异常” java.util.ConcurrentModificationException”错误

来自分类Dev

等待Java中的Google Dataproc SparkJob的最佳方法是什么?

来自分类Dev

使用Java 8将流聚合到一个DISTINCT的最佳方法是什么

来自分类Dev

forEach周期中的java8 java.util.ConcurrentModificationException

来自分类Dev

授权到Angular 8中的资源的最佳方法是什么

来自分类Dev

在Angular8中检测多个ajax请求状态的最佳专业方法是什么?

来自分类Dev

在Windows Phone 8中显示大量内容的最佳方法是什么

来自分类Dev

在Java中重构大型switch语句的最佳方法是什么?

来自分类Dev

在Java中退出循环的最佳方法是什么?

来自分类Dev

在JAVA中对TIME数组进行排序的最佳方法是什么

来自分类Dev

在Java中创建Statement和ResultSet的最佳方法是什么

来自分类Dev

在Java中迭代列表并退出的最佳方法是什么

来自分类Dev

避免使用Java 8在lambda内部使用null的最佳方法是什么?

来自分类Dev

在 Java 8 中设计/处理不同方法的有序调用的最佳方法是什么

来自分类Dev

避免中间表的最佳方法是什么

Related 相关文章

  1. 1

    Java 8中MetaSpace的用途是什么?

  2. 2

    Java 8中'()-> {}'的类型是什么?

  3. 3

    Java 8中接口方法的隐式声明是什么?

  4. 4

    在Java中IPC的最佳方法是什么?

  5. 5

    在Java 8流中避免NoSuchElementException

  6. 6

    在Java类中访问实例变量的最佳方法是什么?

  7. 7

    在JavaFX 8中管理多线程的最佳方法是什么?

  8. 8

    在Java中打印多维数组的最佳方法是什么?

  9. 9

    在Java中退出循环的最佳方法是什么?

  10. 10

    对已排序的列表进行排序时,列表迭代会在Java 8中引发ConcurrentModificationException

  11. 11

    在Java List中合并相似对象的最佳方法是什么?

  12. 12

    在Java 8中迭代流的最快方法是什么?

  13. 13

    为什么此代码会在Java中引起ConcurrentModificationException?

  14. 14

    在Java 8中产生具有无限循环的线程的最佳方法是什么?

  15. 15

    如何避免Java中的“线程“主”中的异常” java.util.ConcurrentModificationException”错误

  16. 16

    等待Java中的Google Dataproc SparkJob的最佳方法是什么?

  17. 17

    使用Java 8将流聚合到一个DISTINCT的最佳方法是什么

  18. 18

    forEach周期中的java8 java.util.ConcurrentModificationException

  19. 19

    授权到Angular 8中的资源的最佳方法是什么

  20. 20

    在Angular8中检测多个ajax请求状态的最佳专业方法是什么?

  21. 21

    在Windows Phone 8中显示大量内容的最佳方法是什么

  22. 22

    在Java中重构大型switch语句的最佳方法是什么?

  23. 23

    在Java中退出循环的最佳方法是什么?

  24. 24

    在JAVA中对TIME数组进行排序的最佳方法是什么

  25. 25

    在Java中创建Statement和ResultSet的最佳方法是什么

  26. 26

    在Java中迭代列表并退出的最佳方法是什么

  27. 27

    避免使用Java 8在lambda内部使用null的最佳方法是什么?

  28. 28

    在 Java 8 中设计/处理不同方法的有序调用的最佳方法是什么

  29. 29

    避免中间表的最佳方法是什么

热门标签

归档