我有一个 Java 地图,其中包含许多键/值对。
我想用额外的键/值对创建这个 Map 的一个版本,但不会丢失旧版本。
简单的解决方案是复制旧的 Map,然后添加额外的键/值对,但我知道有一些不可变的 Map 算法可以更有效地实现这一点。
谁能指出我可以在 vanilla Java 中使用的这种实现(即不是 Clojure 或 Scala 库)?
我有一个 Java 地图,其中包含许多键/值对。
我想用额外的键/值对创建这个 Map 的一个版本,但不会丢失旧版本。
简单的解决方案是复制旧的 Map,然后添加额外的键/值对,但我知道有一些不可变的 Map 算法可以更有效地实现这一点。
谁能指出我可以在 vanilla Java 中使用的这种实现(即不是 Clojure 或 Scala 库)?
https://pcollections.org/上的集合库似乎提供了高效的持久集合实现。
你不能只调用 Map.putAll(Map other) 吗?我会假设 JVM 有效地实现了这一点。
您可以使用 java.util.Properties,使用默认值功能。