1.不可变集合无法更改。在整个使用生命周期中,集合自创建之日起将保持不变。如果你试图修改它,将会报错。出于实施原因、更好的防御以及从不受信任的库调用时,不可变形式更安全。1.1CreateList、Set、Map等接口中提供了静态方法来创建,创建的集合不能修改、添加、删除。publicclassDemo{publicstaticvoidmain(String[]args){//创建一个不可变列表ListlisOf=List.of(1,2,3,4);//只能获取,不能删除,改增System.out.println(lisOf.get(0));//2.ImmutableSet集合,jdk版本需高于8//Setnames=Set.of("迪丽热巴","迪丽热酒","Malzaha","KarlBlink");//names.add("三少爷");//System.out.println(名称);//3.ImmutableMap集合,jdk版本需要高于8//Mapmaps=Map.of("huawei",2,"JavaDevelopment",1,"Watch",1);//maps.put("衣服",3);//System.out.println(地图);}}2。JDK8之后,得益于Lambda表达式的函数式编程,引入了Stream流。它简化了集合和数字的操作。//示例publicclassStreamTest{publicstaticvoidmain(String[]args){ArrayListarrayList=newArrayList<>();Collections.addAll(arrayList,"李小龙","成龙","李连杰","李莲英","叶问","沉腾");//传统方法System.out.println("传统方法");for(inti=0;i=3){System.out.println(s);}}//流方法System.out.println("Stream");Streamstream=arrayList.stream();stream.filter(s->s.startsWith("Li")).filter(s->s.length()>=3).forEach(s->System.out.println(s));}}2.1Stream流的创建已经成功使用,一共分为三个阶段:获取流:获取'pipeline'操作集和值的中间操作:类似于'pipeline'上的操作,运行结束后,可以继续后续的运行终止方法:一个管道只有一个终止方法,一旦执行完这个方法,管道就会停止。2.1.1获取Stream获取数组和集合的Stream获取集合流//集合中Collection的默认方法,1.8后默认添加该方法Streamstream()publicclassStreamDemo1{publicstaticvoidmain(String[]args){ArrayListlist=newArrayList<>();HashSetset=newHashSet<>();HashMap