1.15 Java 9新增的不可变集合
生活随笔
收集整理的這篇文章主要介紹了
1.15 Java 9新增的不可变集合
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Java 9新增的不可變集合
Java 9 版本以前,假如要創(chuàng)建一個包含 6 個元素的 Set 集合,程序需要先創(chuàng)建 Set 集合,然后調(diào)用 6 次 add() 方法向 Set 集合中添加元素。Java 9 對此進(jìn)行了簡化,程序直接調(diào)用 Set、List、Map 的 of() 方法即可創(chuàng)建包含 N 個元素的不可變集合,這樣一行代碼就可創(chuàng)建包含 N 個元素的集合。
不可變意味著程序不能向集合中添加元素,也不能從集合中刪除元素。
如下程序示范了如何創(chuàng)建不可變集合。
public class Java9Collection {public static void main(String[] args) {// 創(chuàng)建包含4個元素的Set集合Set set = Set.of("Java", "Kotlin", "Go", "Swift");System.out.println(set);// 不可變集合,下面代碼導(dǎo)致運(yùn)行時錯誤// set.add("Ruby");// 創(chuàng)建包含4個元素的List集合List list = List.of(34, -25, 67, 231);System.out.println(list);// 不可變集合,下面代碼導(dǎo)致運(yùn)行時錯誤// list.remove(1);// 創(chuàng)建包含3個key-value對的Map集合Map map = Map.of("語文", 89, "數(shù)學(xué)", 82, "英語", 92);System.out.println(map);// 不可變集合,下面代碼導(dǎo)致運(yùn)行時錯誤// map.remove("語文");// 使用Map.entry()方法顯式構(gòu)建key-value對Map map2 = Map.ofEntries(Map.entry("語文", 89), Map.entry("數(shù)學(xué)", 82), Map.entry("英語", 92));System.out.println(map2);} }上面第 4、9、14 和 19 行代碼示范了如何使用集合元素創(chuàng)建不可變集合,其中 Set、List 比較簡單,程序只要為它們的 of() 方法傳入 N 個集合元素即可創(chuàng)建 Set、List 集合。
從上面代碼可以看出,創(chuàng)建不可變的 Map 集合有兩個方法。使用 of() 方法時只要依次傳入多個 key-value 對即可;還可使用 ofEntries() 方法,該方法可接受多個 Entry 對象,因此程序顯式使用 Map.entry() 方法來創(chuàng)建 Map.Entry 對象。
總結(jié)
以上是生活随笔為你收集整理的1.15 Java 9新增的不可变集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.14 Stream操作Collect
- 下一篇: 1.16 项目实例:Java图书信息查询