java - Mengapa mengalih keluar elemen terakhir dalam setiap laporan ralat?
PHP中文网
PHP中文网 2017-05-17 10:04:40
0
5
903
public static void main(String[] args) {

        List<String> a = new ArrayList<String>();
            
        a.add("1");
        a.add("2");
        a.add("23");
        for (String temp : a) {
            if ("23".equals(temp)) {
                a.remove(temp);
            }
        }
        System.out.println(a);
    }

Pengecualian dalam utas "utama" java.util.ConcurrentModificationException
di java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
di java.util.ArrayList$Itr.next(ArrayList.java:851)
wan.ForEach.main(ForEach.java:22)

PHP中文网
PHP中文网

认证0级讲师

membalas semua(5)
大家讲道理

foreach是通过迭代器来实现的,使用迭代器遍历元素时,容器不能试图改变容器的结构,如remove、add操作会抛出异常; 可以使用迭代器的removeKaedah untuk memadam elemen.

迷茫

http://tyrion.iteye.com/blog/...

漂亮男人

Orang di atas menyatakannya dengan sangat jelas. Di sini saya akan memberitahu anda dua penyelesaian mudah
1 pemadaman Iterator
2. Salin senarai untuk melintasi, dan kemudian kendalikan senarai asal.

phpcn_u1582

Apa yang dikatakan di tingkat atas adalah sangat rasmi, secara terang-terangan, dalam kaedah for(Object obj:list), anda tidak boleh memanggil kaedah alih keluar senarai untuk memadam elemen, jika tidak pengecualian akan dilemparkan, kerana Iterator. memerlukan struktur tertentu, jadi terdapat dua cara untuk memadamnya Satu ialah menyalin senarai dan mengalih keluar elemen dalam senarai lama dengan menggelung senarai baharu, dan satu lagi adalah menggunakan untuk(int i; i<count; i++. ) Gelung dalam borang ini, supaya anda boleh memadamkannya melalui kursor. Hanya berhati-hati untuk tidak melintasi sempadan subskrip tatasusunan.

習慣沉默

Apabila anda mengira telur, jika seseorang secara rahsia memasukkan telur ke dalam bakul anda atau mengambil telur, ia akan menyebabkan anda tersalah mengira Melainkan anda mengambil atau mengambil telur itu sendiri, anda boleh mengingati prinsip yang sama dalam program

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan