JDK9的新特性之一:集合接口的of()方法

JDK9的新特性:
  List接口, Set接口, Map接口:里边增加了一个静态的方法of(), 可以给集合一次性添加多个元素。

static List of (E… elements);

使用前提:当集合中存储的元素的个数已经确定了,不在改变时使用

注意:

1.of方法只适用于List接口, Set接口, Map接口,不适用于接接口的实现类

2.of方法的返回值是一个不能改变的集合,集合不能再使用add, put方法添加元素,会抛出异常

3.Set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常

package JDK9对集合中元素添加的新优化;import java.util.List;
 import java.util.Map;
 import java.util.Set;/**
  * @Author Admin
  * @Classname DemoJDK9
  * @Package JDK9对集合中元素添加的新优化
  * @GreatDate 2020/04/22 13:22:37
  * @Description TODO JDK9的新特性
  */
 /*
 JDK9的新特性:
     List接口, Set接口, Map接口:里边增加了一个静态的方法of(),
                                 可以给集合一次性添加多个元素。
     static <E> List<E> of (E... elements);
 使用前提:当集合中存储的元素的个数已经确定了,不在改变时使用
 注意:
     1.of方法只适用于List接口, Set接口, Map接口,不适用于接接口的实现类
     2.of方法的返回值是一个不能改变的集合,集合不能再使用add, put方法添加元素,会抛出异常UnsupportedOperationException
     3.Set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常
  */
 public class DemoJDK9 {
     public static void main(String[] args) {
         List<String> list = List.of("a", "b", "a", "C");
         System.out.println(list);//[a, b, a, C]
         // list.add("w");//UnsupportedOperationException 不支持操作异常
         //原因:使用了of()方法,就不能再添加了,和数组一样了,长度固定
         System.out.println("-----------------------------");

         //Set<String> set = Set.of("a", "b", "d", "d");
         Set<String> set = Set.of("a", "b", "d");
         System.out.println(set);//[b, a, d] IllegalArgumentException 非法参数异常
         //原因:set集合中不允许出现重复元素,因此of()方法传参也是要唯一的。
         // set.add("w");//UnsupportedOperationException 不支持操作异常
         System.out.println("-----------------------------");

         //Map<String, Integer> map = Map.of("张三", 185, "李四", 168, "王五", 175,"张三",168);
         Map<String, Integer> map = Map.of("张三", 185, "李四", 168, "王五", 175);
         //IllegalArgumentException 非法参数异常
         System.out.println(map);//{李四=168, 王五=175, 张三=185}
         // map.put("赵六",200);//UnsupportedOperationException 不支持操作异常

     }
 }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值