Cara menyelesaikan: Ralat koleksi Java: Pengecualian operasi pengumpulan
Pengenalan:
Dalam proses pembangunan Java, koleksi sering digunakan untuk menyimpan dan mengendalikan set data. Walau bagaimanapun, kadangkala kami menghadapi pengecualian operasi pengumpulan, yang boleh menyebabkan program ranap atau menghasilkan keputusan yang salah. Artikel ini akan memperkenalkan beberapa pengecualian operasi pengumpulan biasa dan menyediakan penyelesaian dan contoh kod yang sepadan.
I. Jenis dan punca pengecualian operasi pengumpulan:
II.
b. Gunakan kelas koleksi selamat serentak (seperti ConcurrentHashMap, CopyOnWriteArrayList) dan bukannya kelas koleksi biasa.List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); Iterator<String> iterator = list.iterator(); while(iterator.hasNext()){ String element = iterator.next(); if(element.equals("B")){ iterator.remove(); } }
a Sebelum menggunakan koleksi, semak dahulu sama ada koleksi menyokong operasi yang sepadan. Ia boleh dinilai melalui koleksi isAddSupported(), isRemoveSupported() dan kaedah lain.
b. Gunakan kelas pengumpulan yang menyokong operasi yang sepadan untuk menggantikan kelas pengumpulan yang tidak disokong.List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); if(list instanceof RandomAccess){ list.add(1, "D"); }else{ List<String> newList = new ArrayList<>(); for(int i=0; i<list.size(); i++){ if(i == 1){ newList.add("D"); } newList.add(list.get(i)); } list = newList; }
Atas ialah kandungan terperinci Cara membetulkan: Ralat Koleksi Java: Pengecualian operasi pengumpulan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!