欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【Java基础进阶笔记】- Day04 - 第二章 补充知识点

程序员文章站 2022-04-07 18:01:08
Java基础进阶笔记 - Day04 - 第二章 补充知识点Java基础进阶笔记 - Day04 - 第二章 补充知识点2.1 JDK9对集合添加的优化Java基础进阶笔记 - Day04 - 第二章 补充知识点系统:Win10JDK:1.8.0_121IDE:IntelliJ IDEA 2017.3.72.1 JDK9对集合添加的优化通常,我们在代码中创建一个集合(例如:List或者Set),并直接用一些元素填充它。实例化集合后,add方法重复调用,使得代码重复public class...

Java基础进阶笔记 - Day04 - 第二章 补充知识点

Java基础进阶笔记 - Day04 - 第二章 补充知识点

系统:Win10
JDK:1.8.0_121
IDE:IntelliJ IDEA 2017.3.7

2.1 JDK9对集合添加的优化

通常,我们在代码中创建一个集合(例如:List或者Set),并直接用一些元素填充它。实例化集合后,add方法重复调用,使得代码重复

public class Demo01 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王二");
        System.out.println(list);
    }
}

Java9,添加了几种集合工厂方法,更方便创建少量元素的集合、map实例。新的List、Set、Map的静态工厂方法可以更加方便创建集合的不可变实例
例如:

public class Java9 {
    public static void main(String[] args) {
        List<String> list = List.of("a", "b", "c");
        // list.add("d");这里编译时不会报错,但是执行的时候会报错,因为是不可变的集合
        System.out.println(list);
        // Set<String> set = Set.of("a", "b", "a");Set集合不能有重复值,不然执行会报错
        Set<String> set = Set.of("a", "b", "c");
        System.out.println(set);
        // Map<String, Integer> map = Map.of("a", 1, "a", 2, "c", 3); Map集合的key不能重复,不然执行会报错
        Map<String, Integer> map = Map.of("a", 1, "b", 2, "c", 3);
        System.out.println(map);
    }
}

需要注意一下三点:

1.of()方法只是List、Set、Map这三个接口的静态方法,其父类接口和子类实现并没有这类方法,比如ArrayList、HashSet、HashMap等
2.返回的集合是不可变的,不能使用add、put方法继续添加数据
3.Set的值不能重复,Map的key也不能重复

本文地址:https://blog.csdn.net/qq_35132089/article/details/112055169