如何在Java中正确定义多维通用集合?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java中正确定义多维通用集合?相关的知识,希望对你有一定的参考价值。

例如,我想创建一个地图,它是地图地图的地图。所以我已经宣布了地图。从结果集中我想创建一个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>();

但是我需要一次放置一个项目,所以我得到了我想要的地图并将其放入。然后相同的以下迭代,所以我必须将对象转换为地图,留下未经检查的警告。

是否有更好的方式来声明这种类型的集合?

答案

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

public class MyObjectData {

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

    // Getters and setters

}

然后你的地图变成了Map<String, MyObjectData>

以上是关于如何在Java中正确定义多维通用集合?的主要内容,如果未能解决你的问题,请参考以下文章