Java基础 第三节 第十六课

举报
我是小白呀iamarookie 发表于 2021/09/10 22:29:14 2021/09/10
【摘要】 补充知识点 JDK9 对集合添加的优化注意事项 JDK9 对集合添加的优化 通常, 我们在代码中创建一个集合 (例如, List 或 Set), 并直接用一些元素填充它. 实例化集合,...

JDK9 对集合添加的优化

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

import java.util.ArrayList;
import java.util.List;

public class Test36 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("abc");
        list.add("def");
        list.add("ghi");
        System.out.println(list);
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Java 9, 添加了几种集合工厂方法, 更方便创建少量的集合, map 实例. 新的 List, Set, Map 的静态工厂方法可以更方便地创建集合的不可变实例.

例子:

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

注意事项

  1. of() 方法只是 Map, List, Set 这三个接口的静态方法, 其父类接口和子类实现没有这类方法, 比如 HashSet, ArrayList 等等没有这类方法的
  2. 返回的集合不可变的

文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。

原文链接:iamarookie.blog.csdn.net/article/details/110527095

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。