Essayez votre puissance Java.
Voir le code ci-dessous. J'essaye d'assigner «D» à toutes les valeurs dans arrayList.
ExtentionForSample.java
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
for(String str : arrayList) {
str = "D";
System.out.println(str);
}
System.out.println(arrayList);
D
D
D
[A, B, C]
Je viens de changer la destination de référence de la variable locale. .. ..
J'attribuais juste une nouvelle référence à une variable locale. N'affecte pas le "A" référencé
ExtentionForSample.java
//Omission
for(int i=0; i < arrayList.size(); i++) {
arrayList.set(i, "D");
}
System.out.println(arrayList);
Utiliser ArrayList.set (index int, élément E)
[D, D, D]
ExtentionForSample.java
Map mapA = new HashMap<String,String>(){{put("1", "A");}};
Map mapB = new HashMap<String,String>(){{put("1", "B");}};
Map mapC = new HashMap<String,String>(){{put("1", "C");}};
arrayListMap.add(mapA);
arrayListMap.add(mapB);
arrayListMap.add(mapC);
for(Map map:arrayListMap) {
map.put("2", "D");
}
System.out.println(arrayListMap);
[{1=A, 2=D}, {1=B, 2=D}, {1=C, 2=D}]
Lorsque les données sont manipulées pour la destination de référence affectée à la variable locale, elles sont reflétées dans la destination de référence.
Recommended Posts