一、概念
1.什么是不可变集合?
答:整个生命周期都不能被修改的集合,增删改都不可以。JDK9才开始支持的
2.不可变集合类型有几个?
答:3个。分别存在List、set、Map集合中。都可以用of方法创建一个不可变的集合
3.实在想用里面的数据怎么办?
答:可以遍历集合里面的数据出来进行拼接修改的,这些原有集合里面的也不会被更改。因为你是遍历出来的数据进行操作,不关集合的事情。get获取
二、代码例子
例子:
package bao; import java.util.List; import java.util.Map; import java.util.Set; public class Test { public static void main(String[] args) { //创建不可变的List集合存放数据 List<Object> list = List.of("程序员","汉语言文学","播音主持","电商",666); //list.add("主播");//错误示范:这里会报错,因为不可对集合元素进行任何更改。 System.out.println(list); //创建不可变的Set集合存放数据 Set<Object> set = Set.of("程序员","汉语言文学","播音主持","电商",666);//这里集合不能出现重复的元素,要不然会报错 System.out.println(set);//[汉语言文学, 播音主持, 电商, 666, 程序员] //创建不可变的Map集合存放数据 Map<String, Integer> map = Map.of("红buff", 1, "蓝buff", 2); System.out.println(map); } }
运行结果:
[程序员, 汉语言文学, 播音主持, 电商, 666]
[汉语言文学, 播音主持, 电商, 666, 程序员]
{红buff=1, 蓝buff=2}
旁白:这几个集合都差不多,就是set比较特殊。set集合元素不能重复和输出的元素是无序的