首页 > 解决方案 > 用于存储key-value-value等元素的集合

问题描述

哪个集合可用于存储项目,例如 key-value-value ?例如我需要这样的东西:

  elements.add (0, "first", 1);
  elements.add(1, "second", 2);

标签: javacollections

解决方案


您应该定义自己的类来定义一个值并Map<Integer, MyValue>用作整体结构。

例子 :

public class MyValue{
    public MyValue(String string, int i){
       ...
    }
}

并使用它:

Map<Integer, MyValue> elements = new HashMap<>();
elements.put(0, new MyValue("first", 1));

您可以选择 aList作为值,但泛型List依赖于特定类型,例如List<String>or List<Integer>。因此,在您的情况下,当您在值中混合类型时,我会避免这种方式。

您还有其他不需要引入自定义类的替代方案,但一般来说,对于必须阅读/维护代码的人来说,这通常不清楚:javafx.util.Pair<K,V>或者java.util.AbstractMap.SimpleImmutableEntry<K, V>是它们的示例。


推荐阅读