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 不支持操作异常
}
}