Library providing immutable/persistent collection classes for Java. While collections are immutable they provide methods for adding and removing values by creating new modified copies of themselves. Each copy shares as much as possible of its structure with other copies to minimize memory consumption.
The library includes a singly linked (cons/cddr style) list/stack, an integer trie based indexed list, a 2-3 tree based random access indexed list, a 2-3 tree based map, a hash trie based map, and hash and tree based sets, and sparse arrays. ...