集合中存放的引用类型,然后修改值后的变化
Integer
package org.onepiece; import java.util.ArrayList; import java.util.LinkedList; public class Main { public static void main(String[] args) { Integer num = 1; ArrayList<Integer> array1 = new ArrayList<>(); array1.add(num); LinkedList<Integer> list2 = new LinkedList<>(); list2.add(num); println(array1); //[1] println(list2); //[1] num = 100; println(array1); //[1] println(list2); //[1] array1.set(0, 500); println(array1); //[500] println(list2); //[1] list2.set(0, 1000); println(array1); //[500] println(list2); //[1000] } private static void println(Object obj) { System.out.println(obj); //sout } }
String
package org.onepiece; import java.lang.String; import java.util.ArrayList; import java.util.LinkedList; public class Main { public static void main(String[] args) { String str = "123"; ArrayList<String> array1 = new ArrayList<>(); array1.add(str); LinkedList<String> list2 = new LinkedList<>(); list2.add(str); println(array1); //[123] println(list2); //[123] str = "abc"; println(array1); //[123] println(list2); //[123] array1.set(0, "AAA"); println(array1); //[AAA] println(list2); //[123] list2.set(0, "BBB"); println(array1); //[AAA] println(list2); //[BBB] } private static void println(Object obj) { System.out.println(obj); //sout } }
自定义类(引用类型)
package org.onepiece; import java.util.ArrayList; import java.util.LinkedList; public class Main { public static void main(String[] args) { int id = 1; String name = "ROSE"; Integer num = 1; UserClass user1 = new UserClass(id, name, num); ArrayList<UserClass> array = new ArrayList<>(); array.add(user1); LinkedList<UserClass> list = new LinkedList<>(); list.add(user1); println(array.get(0).getId() + " " + array.get(0).getName() + " " + array.get(0).getNum()); //1 ROSE 1 println(list.get(0).getId() + " " + list.get(0).getName() + " " + list.get(0).getNum()); //1 ROSE 1 id = 100; name = "AAA"; num = 100; println(array.get(0).getId() + " " + array.get(0).getName() + " " + array.get(0).getNum()); //1 ROSE 1 println(list.get(0).getId() + " " + list.get(0).getName() + " " + list.get(0).getNum()); //1 ROSE 1 array.get(0).setId(500); array.get(0).setName("新值"); array.get(0).setNum(500); println(array.get(0).getId() + " " + array.get(0).getName() + " " + array.get(0).getNum()); //500 新值 500 println(list.get(0).getId() + " " + list.get(0).getName() + " " + list.get(0).getNum()); //500 新值 500 array.set(0, new UserClass(200, "BBB", 200)); println(array.get(0).getId() + " " + array.get(0).getName() + " " + array.get(0).getNum()); //200 BBB 200 println(list.get(0).getId() + " " + list.get(0).getName() + " " + list.get(0).getNum()); //500 新值 500 user1.setId(300); user1.setName("CCC"); user1.setNum(300); println(array.get(0).getId() + " " + array.get(0).getName() + " " + array.get(0).getNum()); //200 BBB 200 println(list.get(0).getId() + " " + list.get(0).getName() + " " + list.get(0).getNum()); //300 CCC 300 } private static void println(Object obj) { System.out.println(obj); //sout } }

浙公网安备 33010602011771号