持久化的 Java 集合類:Immutable Collections for Java

jopen 11年前發布 | 20K 次閱讀 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));

項目主頁:http://www.baiduhome.net/lib/view/home/1385734614533

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!