-2

このコードを使用して配列リスト内のデータをチェックし、類似点を削除しましたが、ConcurrentModificationException が発生しました。これは、すべての問題を解決した後の最終的なコードです。

public class Aaa {

    static ArrayList <String>  cmp   = new ArrayList<String>();
    static ArrayList <String>  cpr   = new ArrayList<String>();

    public static void clarify(ArrayList<String> cmp) {

        for (int i = 0; i< cmp.size(); i++){
            cpr.add("null");
        }
        java.util.Collections.copy(cpr, cmp);
        for (String s : cpr){
            int j = 0;
             Iterator<String> itr= cmp.iterator();
              while (itr.hasNext()){
               String t = itr.next();
                 if (s.equals(t)){
                     j++;
                     if (j > 1){
                    itr.remove();
                     }
                }
              }
            }
        for(String x : cmp){
            System.out.println(x);
        }
    }

    public static void main(String args[]){

        cmp.add("hamada");
        cmp.add("ramzy");
        cmp.add("morsy");
        cmp.add("attres");
        cmp.add("hamada");
        cmp.add("el nenny");
        cmp.add("hamada");
        cmp.add("abbas");

        clarify(cmp);       
    }
}
4

2 に答える 2