java - 映射 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 更有效。
解决方案
如果您不需要树结构并且总是想找到一个存储的对象。我建议有一个复合键。您可以使用分隔符作为键连接字符串。
对于来自 Guava 的二维表,可以使用:https ://github.com/google/guava/wiki/NewCollectionTypesExplained#table
推荐阅读
- php - 在 List.js 中显示 MySQL 查询结果不与分页同步并选择否。每页项目数
- google-bigquery - BigQuery 中 last_modified_timestamp 的含义是什么
- performance - 有多少执行器最适合用于火花作业?
- laravel - 如何在 laravel 中创建多个日志文件?
- python - 如何根据 Python 中的其他分层变量声明和调用动态变量?
- go - 如何使用goroutine和channel批量读取mysql数据
- ansible - 从 Ansible 中的 List 变量获取项目的索引值
- discord - 在 discord.py 中发送欢迎消息 [@bot.event 没有反应?]
- python-3.x - 如何将 Pydantic 基本模式用于 n 个子模式
- python - 无法索引 numba 类型