String names[] = new String[]{"Avinash","Amol","John","Peter"};
java.util.List<String> namesList = Arrays.asList(names);
atau
String names[] = new String[]{"Avinash","Amol","John","Peter"};
java.util.List<String> temp = Arrays.asList(names);
Pernyataan Di Atas menambahkan pembungkus pada larik input. Jadi metode seperti tambah & hapus tidak akan berlaku pada objek referensi daftar 'namesList'.
Jika Anda mencoba menambahkan elemen dalam larik / daftar yang ada, maka Anda akan mendapatkan "Exception in thread" main "java.lang.UnsupportedOperationException".
Operasi di atas hanya bisa dibaca atau dilihat.
Kita tidak dapat melakukan operasi tambah atau hapus pada objek daftar. Tapi
String names[] = new String[]{"Avinash","Amol","John","Peter"};
java.util.ArrayList<String> list1 = new ArrayList<>(Arrays.asList(names));
atau
String names[] = new String[]{"Avinash","Amol","John","Peter"};
java.util.List<String> listObject = Arrays.asList(names);
java.util.ArrayList<String> list1 = new ArrayList<>(listObject);
Dalam pernyataan di atas Anda telah membuat instance konkret dari kelas ArrayList dan mengirimkan daftar sebagai parameter.
Dalam kasus ini, metode add & remove akan berfungsi dengan baik karena kedua metode berasal dari kelas ArrayList jadi di sini kita tidak akan mendapatkan UnSupportedOperationException.
Perubahan yang dibuat dalam objek Arraylist (metode menambah atau menghapus elemen di / dari daftar array) tidak akan tercermin dalam objek java.util.List asli.
String names[] = new String[] {
"Avinash",
"Amol",
"John",
"Peter"
};
java.util.List < String > listObject = Arrays.asList(names);
java.util.ArrayList < String > list1 = new ArrayList < > (listObject);
for (String string: list1) {
System.out.print(" " + string);
}
list1.add("Alex"); //Added without any exception
list1.remove("Avinash"); //Added without any exception will not make any changes in original list in this case temp object.
for (String string: list1) {
System.out.print(" " + string);
}
String existingNames[] = new String[] {
"Avinash",
"Amol",
"John",
"Peter"
};
java.util.List < String > namesList = Arrays.asList(names);
namesList.add("Bob"); // UnsupportedOperationException occur
namesList.remove("Avinash"); //UnsupportedOperationException
Lists.newArrayList(ia)
membuat salinan independen, seperti opsi pertama. Ini lebih umum dan lebih baik untuk dilihat.