如何解决java.util.ConcurrentModificationException
运行时总是报java.util.ConcurrentModificationException,请问如何解决?就用LinkedList,不用Set。
import java.util.*;
public class NameList{
private static void addName(List<String> list,String name){
ListIterator<String> it=list.listIterator();
while(it.hasNext()){
String in=it.next();
if(name.equals(in)){
System.out.println("不允许插入重复的名字:"+name);
break;
}
else
list.add(name);
}
}
private static void searchName(List<String> list,String name){
ListIterator<String> it=list.listIterator();
while(it.hasNext()){
String in=it.next();
if(name.equals(in)){
System.out.println("查找结果:"+name);
break;
}
else
System.out.println("找不到对应的名字");
}
}
public static void main(String[] args) {
List<String> list=new LinkedList<String>();
list.add(new String("Tom"));
list.add(new String("Mike"));
list.add(new String("Jerry"));
list.add(new String("Mary"));
list.add(new String("Kevin"));
Collections.sort(list);
System.out.println(Arrays.toString(list.toArray()));
searchName(list,"Tom");
addName(list,"Jerry");
addName(list,"Peter");
System.out.println(Arrays.toString(list.toArray()));
}
}
import java.util.*;
public class NameList{
private static void addName(List<String> list,String name){
ListIterator<String> it=list.listIterator();
while(it.hasNext()){
String in=it.next();
if(name.equals(in)){
System.out.println("不允许插入重复的名字:"+name);
break;
}
else
list.add(name);
}
}
private static void searchName(List<String> list,String name){
ListIterator<String> it=list.listIterator();
while(it.hasNext()){
String in=it.next();
if(name.equals(in)){
System.out.println("查找结果:"+name);
break;
}
else
System.out.println("找不到对应的名字");
}
}
public static void main(String[] args) {
List<String> list=new LinkedList<String>();
list.add(new String("Tom"));
list.add(new String("Mike"));
list.add(new String("Jerry"));
list.add(new String("Mary"));
list.add(new String("Kevin"));
Collections.sort(list);
System.out.println(Arrays.toString(list.toArray()));
searchName(list,"Tom");
addName(list,"Jerry");
addName(list,"Peter");
System.out.println(Arrays.toString(list.toArray()));
}
}
...全文
相关推荐
java.util.ConcurrentModificationException 解决方法
"Java.util.ConcurrentModificationException 是一个在并发编程中常见的异常,通常发生在尝试并发修改集合时。本文主要探讨如何解决这个问题,并提供几种有效的方法。
出现java.util.ConcurrentModificationException 问题及解决办法
在Java编程中,`java.util.ConcurrentModificationException` 是一个常见的运行时异常,通常发生在尝试并发修改集合时。
java.util.ConcurrentModificationException(解决方案).md
其次,推荐使用Java并发包(java.util.concurrent)提供的线程安全的集合类。
ConcurrentModificationException如何解决.md
示例代码如下:```javaimport java.util.ArrayList;import java.util.List;import java.util.concurrent.locks.Lock
ConcurrentModificationException(解决方案).md
Java 的并发包 java.util.concurrent 提供了线程安全的集合类,如 CopyOnWriteArrayList 或 ConcurrentHashMap 等。


Java SE
