集合中存放的引用类型,然后修改值后的变化

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
    }
}

 

posted @ 2019-07-24 11:25  茗::流  阅读(259)  评论(0)    收藏  举报
如有雷同,纯属参考。如有侵犯你的版权,请联系我。