java - 在单个结构中插入多个 ArrayList

标签 java structure

正如标题所说,我想知道是否存在任何可以允许这样的结构:

key = 1 -> arrayList1 、 arrayList2 、 arrayList3...

someStructure.add(1,arrayList<1>);
someStructure.add(1,arrayList<2>);
someStructure.add(1,arrayList<3>);

重要

每个列表的必须保持相同。

最佳答案

您可以使用 Map 自行推出

Map<YourKeyClass, List<Data>> someStructure
     = new HashMap<YourKeyClass, List<Data>>();

根据您想要的情况,看起来您需要:

Map<YourKeyClass, List<List<Data>>> someStructure
     = new HashMap<YourKeyClass, List<List<Data>>>();

这是结构的启动示例:

class MyMapOfList<K, V> {
    Map<K, List<V>> innerMap;

    public MyMapOfListOfList() {
        innerMap = new HashMap<K, V>();
    }

    public void put(K key, V value) {
        List<V> list = innerMap.get(key);
        if (list == null) {
            list = new ArrayList<V>();
            innerMap.put(key, list);
        }
        list.add(value);
    }
}

你可以这样使用它:

MyMapOfList<String, List<Data>> myMapOfList;

如果您不喜欢在 Map 内部添加/维护 List,您可以使用第三方库中的结构,如 MultiMap来自 Guava,它的行为更像你想要/需要的。

更多信息:

关于java - 在单个结构中插入多个 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582585/

相关文章:

c - 将包含另一个结构的结构传递给 pthread_create

python - 在函数内部构建 Tensorflow 图

具有复杂结构的 C++ 初始化列表

C 将文件复制到结构中

c - 显示新文件中的一些字符

java - 突出显示 ListCell 时 float 矩形

Java - 括号和赋值

java - 如何使用JPA在spring-boot中通过排序聚合列来进行SQL查询?

java - 为什么我的生产者线程没有完成它的任务?

java - 向 JUnit 测试套件提供输入的普遍接受的方式是什么