如何使用一个键存储多个值

use*_*988 2 java store key-value

我想在1个键中存储3个值.Hashmap只能容纳1个键,1个值,因此无法使用.那么我还有什么方法可以从价值A/B/C的一把钥匙中获得.

键:字符串

值:String/String/int

Ian*_*las 11

创建一个对象来保存3个值,然后新对象就是键值对中的值.

这是一个示例实现:

class TripleValue {
    String A;
    String B;
    int C;

    public TripleValue(String a, String b, int c) {
        A = a;
        B = b;
        C = c;
    }
}

public static void main() {
    Map<String, TripleValue> myMap = new HashMap<String, TripleValue>(); 
    myMap.put("SomeKey", new TripleValue("String1", "String2", 10));

}
Run Code Online (Sandbox Code Playgroud)

  • @Nambari True但OP将值列为String/String/int (3认同)
  • 例如`class Triple {String A; 字符串B; int C; }` (2认同)

kos*_*osa 5

其中一种方法可以使用ArrayList/Set作为键的值.

例:

List myTempList = new ArrayList();
myTempList.add("Hi");
myTempList.add("Hello");
myTempList.add("How are you");

myMap.key("key", myTempList);
Run Code Online (Sandbox Code Playgroud)

另一种方法是,如果您知道每个键的值的数量总是相同,那么您可以创建一个holder对象并为该对象设置值并将其放在map中.