晚上好。
我需要组织一个HashMap,它是这样的:
私人HashMap<字符串,矢量<任务> > tasksOrdered = new HashMap<字符串,矢量<任务> > ();
每个“任务”都是一个具有3个属性的制作类:
我知道,通过该HashMap,我可以将任务按小时分组为向量,只需将任务小时数设置为关键,然后添加这些向量,或者如果存在向量,则添加实例。
我的问题是,我如何按人名命名这些载体?
我想要的一个例子:
[1]:表https://dl.dropbox.com/u/4134140/Untitled.png
希望有所帮助:S
答案 0 :(得分:3)
您可以按照这样的人名来订购:
SortedMap<String, List<Task>> taskMap = new ConcurrentSkipListMap<String, List<Task>>();
taskMap.put(task.getPerson().getName(), task);
答案 1 :(得分:0)
HashMap没有给你任何订购。但是,我不确定你是否真的对排序感兴趣?
您似乎想根据名称对任务进行分组?您可以通过将人员名称插入哈希映射来获取向量来执行相同操作。如果要按名称检索它们,可以抓取keyset()
,调用java.util.Collections.sort()
,然后按顺序检索向量。
答案 2 :(得分:0)
Key = task and value = person name of person
Collections.sort(Vector,new Comparator() {
@Override
public int compare(Vector o1, Vector o2) {
return Collator.getInstance().compare(o1.getvalue(), o2.getValue());
}
});
只是伪装,可能需要一些调整。