首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java:用于不可变功能样式数据结构的库

java:用于不可变功能样式数据结构的库
EN

Stack Overflow用户
提问于 2010-06-11 17:57:06
回答 4查看 2.1K关注 0票数 12

这与另一个问题(Java中的功能数据结构)非常相似,但答案并不特别有用。

我需要使用标准Java集合的不变版本(例如,HashMap / TreeMap / ArrayList / LinkedList / HashSet / TreeSet)。所谓“不可变”,我指的是功能意义上的不可变(例如纯功能数据结构),其中对数据结构的更新操作不改变原始数据,而是返回相同类型数据结构的新实例。通常情况下,数据结构的新实例和旧实例将共享不可变数据,以便在时间和空间上高效。

据我所知,我的选择包括:

  • 函数式Java
  • Scala
  • 克洛尔

但我不确定这些是否对我特别有吸引力。我有几项要求/要求:

  • 所讨论的集合应该可以在中直接使用(在类路径中有适当的库)。FJ会为我工作;我不确定是否可以使用Scala或Clojure的数据结构(在Java /o中),必须使用这些语言的编译器/解释器,而w/o必须编写Scala或Clojure代码。
  • 列表/映射/集合上的核心操作应该是可能的,必须使用令人困惑的语法创建函数对象(FJ看起来有点不确定)
  • --它们在时间和空间上应该是有效的。,我正在寻找一个库,它理想地完成了一些性能测试。FJ的TreeMap是建立在一棵红黑树的基础上的,不知道这是怎么回事.
  • 文档/教程应该足够好,这样就可以快速使用数据结构了。 FJ在这方面失败了。

有什么建议吗?

EN

Stack Overflow用户

发布于 2015-11-05 13:08:58

我花了一些时间让Clojure持久/不变的数据结构在Java中工作,使用合理的构造函数和泛型作为Pure4J的一部分。

这还包括@ImmutableValue类,以确保集合不仅不可变,而且您输入的值也是不可变的。

希望这能有所帮助。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3025064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档