java - 如何在 Java 中正确定义多维广义集合?

标签 java collections hashmap

例如,我想创建一个 map ,它是 map 的 map 。所以我已经这样声明了 map 。我想从结果集中创建一个 JSON 对象。

Map<String, Map<String, Map<String, String>>> data = new LinkedHashMap<String, Map<String, Map<String, String>>>();

我可以定义为

Map<String, Object> map = new LinkedHashMap<String, Object>();

但是我需要一次放置一个项目,这样我就可以得到我想要的 map 并将其放入。然后进行相同的以下迭代,因此我必须将对象转换到 map 上,这会留下未经检查的警告。

是否有更好的方式来声明此类 Collection?

最佳答案

您可以使用 Google Guava MultiMap ,但实际上您最好创建一个新对象并从单个键引用整个数据集合。

public class MyObjectData {

    private String string1;
    private Map<String, String> map;

    // Getters and setters

}

然后你的 map 变成Map<String, MyObjectData>

关于java - 如何在 Java 中正确定义多维广义集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47930938/

相关文章:

java - 如何将 Class<?> 转换为 Class<T>?

scala - 如何将 Map 中的键转换为小写?

Java:将数组元素映射到一组属性

java - 从 Hashmap 访问对象属性

java - 来电号码先减零

java - 如何消除 JTextField 边缘的模糊?

java - Guava 或其他地方是否有Identity SetMultimap?

java8 简化映射转换

algorithm - 是否有可能在恒定时间内找到 Set 中的随机元素?

java - WildFly 正在运行,项目已部署,但 404