是否有针对Java的纯功能性不可变映射实现?

是否有针对Java的纯功能性不可变映射实现?,java,functional-programming,Java,Functional Programming,我有一个Java映射,其中包含许多键/值对 我想创建一个包含其他键/值对的映射版本,但不会丢失旧版本 简单的解决方案是复制旧映射,然后添加额外的键/值对,但我知道有一些不变的映射算法可以更有效地实现这一点 有人能告诉我这样一个在vanilla Java中可用的实现吗(即不是Clojure或Scala库)?难道你不能调用Map.putAll(Map other)?我假设JVM可以有效地实现这一点。的集合库似乎提供了有效的持久集合实现。您可以使用java.util.Properties,使用默认值功

我有一个Java映射,其中包含许多键/值对

我想创建一个包含其他键/值对的映射版本,但不会丢失旧版本

简单的解决方案是复制旧映射,然后添加额外的键/值对,但我知道有一些不变的映射算法可以更有效地实现这一点


有人能告诉我这样一个在vanilla Java中可用的实现吗(即不是Clojure或Scala库)?

难道你不能调用Map.putAll(Map other)?我假设JVM可以有效地实现这一点。

的集合库似乎提供了有效的持久集合实现。

您可以使用java.util.Properties,使用默认值功能。

我不知道如何从可变映射构建不可变映射,无需将条目从可变映射复制到不可变映射。您可以创建映射的修改副本,就像属性包装其他属性文件一样。这只适用于非常特殊的情况,即对非常大的地图进行少量修改;有一个问题。你可能会在网上的某个地方找到它的实现。。。