Java集合1.9中的新特性

    List<Integer> list = List.of(1,2,3,4);
    Set<String> set = Set.of("one","two");
    Map<Integer,String> map1 = Map.of(1,"one",2,"two");
    Map<Integer,String> map2 = Map.ofEntries(1,"one",2,"two");

集合可以使用of()的静态工厂方法提供方便的方式来创建不可变的映射。

  • 他们是 不可变的结构。不能添加、 删除或更新的键和值。调用任何赋值函数方法总是会导致 UnsupportedOperationException 将引发。然而,如果所包含的键或值本身是可变的这可能会导致地图不一致的行为或其内容出现改变。
  • 他们不允许 null 键和值。试图创建它们时使用 null 键或值在 NullPointerException 的结果。
  • 他们是可序列化,如果所有的键和值都是可序列化。
  • 他们在创建时拒绝重复键。重复键传递到 IllegalArgumentException 中的静态工厂方法结果。
  • 映射的迭代顺序是未指定的将受到更改。
  • 他们是 value-based。调用方应作出身份返回实例的任何假设。工厂可以自由地创建新的实例或重用现有的。因此,对这些实例的身份敏感操作 (参考平等 (==)、 身份的哈希代码和同步) 是不可靠的应该避免。
  • 他们序列化指定 Serialized Form 页面上。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值