Java入门与基础(collections接口实例(结合setlist))

Posted 晨沉宸辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java入门与基础(collections接口实例(结合setlist))相关的知识,希望对你有一定的参考价值。

package com.example20.collection;

import java.util.List;
import java.util.Map;

public class ImmutableCollectionTest {
    public static void main(String[] args) {
        // getImmutableList();
        // getImmutableList2();
getImmutableMap();
    }

    /**
     * 创建不可变集合,遍历
     * 添加元素,异常
     */
    private static void getImmutableList() {
        User user = new User("BO");
        User user2 = new User("SUN");
        User user3 = new User("ZHANG");
        List<User> users = List.of(user, user2, user3);
        for (User u : users) {
            System.out.println(u.getName());
        }
        System.out.println(users.getClass().getName());

    }

    /**
     * 不可变集合持有的依然是元素对象的引用
     */
    private static void getImmutableList2() {
        User user = new User("BO");
        User user2 = new User("SUN");
        User user3 = new User("ZHANG");
        List<User> users = List.of(user, user2, user3);
        for (User u : users) {
            u.setName("BO");
        }
        for (User u : users) {
            System.out.println(u.getName());
        }
    }

    /**
     * 创建不可变Map对象
     */
    private static void getImmutableMap() {
        User user = new User("BO");
        User user2 = new User("SUN");
        User user3 = new User("ZHANG");
        Map<Integer, User> userMap = Map.of(1, user, 2, user2, 3, user3);

        System.out.println(userMap.get(1).getName());

    }

}

以上是关于Java入门与基础(collections接口实例(结合setlist))的主要内容,如果未能解决你的问题,请参考以下文章

Java入门笔记之(工具包的学习1~集合与collection)

Java入门——面向对象基础

Java基础知识回顾-19(Collect接口,Iterator迭代器与增强for循环)

Java小白入门200例111之Collections类操作集合详解

core Java基础知识汇总

java中Collection与Collections的区别