JDK9的新特性之一:集合接口的of()方法
Posted elvin-j-x
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK9的新特性之一:集合接口的of()方法相关的知识,希望对你有一定的参考价值。
JDK9的新特性:
List接口, Set接口, Map接口:里边增加了一个静态的方法of(), 可以给集合一次性添加多个元素。
static <E> List<E> of (E... elements);
使用前提:当集合中存储的元素的个数已经确定了,不在改变时使用
注意:
1 package JDK9对集合中元素添加的新优化; 2 ? 3 import java.util.List; 4 import java.util.Map; 5 import java.util.Set; 6 ? 7 /** 8 * @Author Admin 9 * @Classname DemoJDK9 10 * @Package JDK9对集合中元素添加的新优化 11 * @GreatDate 2020/04/22 13:22:37 12 * @Description TODO JDK9的新特性 13 */ 14 /* 15 JDK9的新特性: 16 List接口, Set接口, Map接口:里边增加了一个静态的方法of(), 17 可以给集合一次性添加多个元素。 18 static <E> List<E> of (E... elements); 19 使用前提:当集合中存储的元素的个数已经确定了,不在改变时使用 20 注意: 21 1.of方法只适用于List接口, Set接口, Map接口,不适用于接接口的实现类 22 2.of方法的返回值是一个不能改变的集合,集合不能再使用add, put方法添加元素,会抛出异常 23 3.Set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常 24 */ 25 public class DemoJDK9 { 26 public static void main(String[] args) { 27 List<String> list = List.of("a", "b", "a", "C"); 28 System.out.println(list);//[a, b, a, C] 29 // list.add("w");//UnsupportedOperationException 不支持操作异常 30 //原因:使用了of()方法,就不能再添加了,和数组一样了,长度固定 31 System.out.println("-----------------------------"); 32 33 //Set<String> set = Set.of("a", "b", "d", "d"); 34 Set<String> set = Set.of("a", "b", "d"); 35 System.out.println(set);//[b, a, d] IllegalArgumentException 非法参数异常 36 //原因:set集合中不允许出现重复元素,因此of()方法传参也是要唯一的。 37 // set.add("w");//UnsupportedOperationException 不支持操作异常 38 System.out.println("-----------------------------"); 39 40 //Map<String, Integer> map = Map.of("张三", 185, "李四", 168, "王五", 175,"张三",168); 41 Map<String, Integer> map = Map.of("张三", 185, "李四", 168, "王五", 175); 42 //IllegalArgumentException 非法参数异常 43 System.out.println(map);//{李四=168, 王五=175, 张三=185} 44 // map.put("赵六",200);//UnsupportedOperationException 不支持操作异常 45 46 } 47 }
?
以上是关于JDK9的新特性之一:集合接口的of()方法的主要内容,如果未能解决你的问题,请参考以下文章
JAVA JDK9新特性 List接口,Set接口,Map接口:静态的方法of,可以给集合一次性添加多个元素
4-3《Java中所有集合》——链表和二叉树CollectionListSetMapIterator迭代器集合在JDK9中的新特性