首页 > 解决方案 > 映射 VS 复杂键的多个索引

问题描述

我想要一个 Java 中的索引集合,但我的最终对象需要由许多键索引。

我现在有一个这样的集合:

   Map<String, Map<String, Map<String, Map<String, Map<String, Object>>>>> objects

我在问这是否有效,或者最好构建一个更复杂的键类型以包含所有 5 个字符串键。

PS:对不起,我没有解释整个事情。当我尝试使用此集合获取对象时,该对象的路径可能是:(将 AX 称为第 1 位置的通用键,BX 称为第 2 位置的通用键,等等...) A1 -> B1 - > C1 -> D1 -> E1。但也可以是 A1 -> B2 -> C1 -> D1 -> E1。

所以我问一个覆盖等于的复杂键是否将 B2 和 B1 匹配为一个并匹配两个描述的路径,它比嵌套 Map 更有效。

标签: javahashmap

解决方案


如果您不需要树结构并且总是想找到一个存储的对象。我建议有一个复合键。您可以使用分隔符作为键连接字符串。

对于来自 Guava 的二维表,可以使用:https ://github.com/google/guava/wiki/NewCollectionTypesExplained#table


推荐阅读