持久化的 Java 集合類:Immutable Collections for Java
Immutable Collections for Java (Java不變集合類) 提供了不變的、持久化的 Java 集合類,對集合的元素添加和刪除都是創建一個新的拷貝來進行。每份拷貝都共享幾乎所有其原來的結構,為了最小化內存消耗,該庫包含一個 singly-linked (cons/cddr style) list/stack, 一個整數的基于樹的索引列表,一個 2-3 叉樹的 map,一個哈希樹 map,一個哈希和樹的集合。所有集合提供了不變的游標作為標準的迭代器類。提供一個工具類來使用函數風格的算法訪問數據。
JImmutableList<Integer> list = JImmutables.list(); list = list.insert(10).insert(20).insert(30); assertEquals(10, list.get(0)); assertEquals(20, list.get(1)); assertEquals(30, list.get(2)); JImmutableList<Integer> changed = list.deleteLast().insert(45); assertEquals(10, list.get(0)); assertEquals(20, list.get(1)); assertEquals(30, list.get(2)); assertEquals(10, changed.get(0)); assertEquals(20, changed.get(1)); assertEquals(45, changed.get(2));
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!