UnsupportedOperationException: Mengalih keluar Elemen daripada Senarai
Apabila cuba mengalih keluar elemen daripada senarai menggunakan list.remove(index), anda boleh menghadapi UnsupportedOperationException. Ralat ini berpunca daripada penggunaan senarai saiz tetap yang dikembalikan oleh Arrays.asList().
Arrays.asList() Mengembalikan Senarai Saiz Tetap
Arrays .asList() mencipta senarai yang disokong oleh tatasusunan yang diberikan. Senarai ini tidak boleh diubah dan tidak menyokong pengubahsuaian struktur seperti menambah atau mengalih keluar elemen.
Betulkan:
Untuk menyelesaikan isu ini, gunakan pelaksanaan senarai boleh ubah yang membenarkan pengalihan keluar. Sebagai contoh, anda boleh menggunakan LinkedList.
List<String> list = new LinkedList<>(Arrays.asList(split));
Memisahkan dengan Ungkapan Biasa
Kaedah split() digunakan dengan ungkapan biasa untuk membelah rentetan. Aksara paip (|) ialah metakarakter regex yang harus dilepaskan apabila digunakan sebagai literal.
Betulkan:
Untuk membelah pada aksara paip literal, elakkannya menggunakan garis miring ke belakang berganda.
template.split("\|")
Dioptimumkan Algoritma
Daripada berulang kali menggunakan remove(), pertimbangkan algoritma yang lebih cekap:
Algoritma ini berjalan dalam masa O(N), dengan N ialah saiz senarai, yang jauh lebih pantas daripada pendekatan asal.
Atas ialah kandungan terperinci Mengapa Mengalih Keluar Elemen daripada Senarai Membuang UnsupportedOperationException?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!