在Java中完成的类型化持久数据结构是否为Clojure?

时间:2010-04-30 19:54:02

标签: java data-structures clojure immutability

特别欢迎具有cons操作的不可变List。

5 个答案:

答案 0 :(得分:2)

再挖一点点。这个库可能最接近:http://functionaljava.googlecode.com/svn/artifacts/2.22/javadoc/index.html。我想可以直接使用Clojure的集合类,但我不确定是否会感觉那么自然。 (而且我不一定需要'交易'行为。)

答案 1 :(得分:2)

还有一个" Clojure的数据结构项目被修改为在Clojure之外使用"在:https://github.com/krukow/clj-ds

答案 2 :(得分:1)

我在Java中编写了一堆持久性数据结构。我的“PersistentList”非常接近你想要的。

http://code.google.com/p/mikeralib/source/browse/trunk/Mikera/src/mikera/persistent/PersistentList.java

答案 3 :(得分:0)

Cons’ing a List in Java中发布了多个解决方案。并且可以添加不变性:

List l;
...
l = Collections.unmodifiableList(l);

答案 4 :(得分:0)

我目前正在使用Google Guava。它的集合包具有列表,地图,集等等的不可变变体。该代码易于使用且质量高。

但是,由于实施细节,可能无法有效地进入列表。