我想创建一个表,以便一个键存储多个值。这样我就可以计算出特定键的值的数量。我想创建一个日历类的东西,每个日期都会有一些任务编号。之后我可以根据某个特定日期计算任务数量。我无法使用TreeMap<Integer,ArrayList<Integer>>
,因为我只能对整数插入列表,但我需要一次添加一个整数值。如果我使用TreeMap<Integer,Integer>
,则在针对1个键值插入一个值后,当我为同一个键插入另一个值时,将替换先前的值。
我有一个功能,我必须验证密钥,然后为该键我将插入一个值。即一次可以插入一个值。
请参考图片请提供一些解决方案。
答案 0 :(得分:1)
Google有一个名为'guava'的库,它有Multimaps 您可以将他们的jar添加到您的解决方案中并使用它 http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html
答案 1 :(得分:0)
对于Java,您可以使用Map<Calendar, List<Integer>>
。 Calendar对象是键,值是Integer列表。
答案 2 :(得分:0)
您可以尝试类似的东西(只需粗略实施,您可以根据需要更改数据类型):
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
public class Task {
public static void main(String[] args) {
Map<String, List<String>> task = new TreeMap<String, List<String>>();
List<String> taskList1 = new ArrayList<String>();
taskList1.add("234");
taskList1.add("56");
List<String> taskList2 = new ArrayList<String>();
taskList2.add("23");
taskList2.add("34");
taskList2.add("124");
task.put("1", taskList1);
task.put("2", taskList2);
for (Map.Entry<String, List<String>> entry : task.entrySet()) {
System.out.println(entry.getKey() + "/" + entry.getValue());
}
}
}