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