String names[] = new String[]{"Avinash","Amol","John","Peter"};
java.util.List<String> namesList = Arrays.asList(names);
ou
String names[] = new String[]{"Avinash","Amol","John","Peter"};
java.util.List<String> temp = Arrays.asList(names);
L'instruction ci-dessus ajoute le wrapper sur le tableau d'entrée. Ainsi, les méthodes comme ajouter y supprimer ne sera pas applicable sur l'objet de référence de liste 'namesList'.
Si vous essayez d'ajouter un élément dans le tableau/la liste existant(e), vous obtiendrez "Exception in thread "main" java.lang.UnsupportedOperationException".
L'opération ci-dessus est en lecture seule ou en affichage seul.
Nous ne pouvons pas effectuer d'opération d'ajout ou de suppression dans l'objet liste.
Mais
String names[] = new String[]{"Avinash","Amol","John","Peter"};
java.util.ArrayList<String> list1 = new ArrayList<>(Arrays.asList(names));
ou
String names[] = new String[]{"Avinash","Amol","John","Peter"};
java.util.List<String> listObject = Arrays.asList(names);
java.util.ArrayList<String> list1 = new ArrayList<>(listObject);
Dans la déclaration ci-dessus, vous avez créé une instance concrète de la classe ArrayList et passé une liste en tant que paramètre.
Dans ce cas, les méthodes ajouter y supprimer fonctionnera correctement car les deux méthodes sont issues de la classe ArrayList, donc ici nous n'obtiendrons pas d'UnSupportedOperationException. Les modifications apportées à l'objet ArrayList (méthode d'ajout ou de suppression d'un élément dans/depuis un ArrayList) ne seront pas reflétées dans l'objet original. objet java.util.List .
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