如果我有一个课程项目:
public class Project {
enum Status {
NEW, OPENED, STOPPED, PERPETUAL, CLOSED, CANCELLED
}
enum Priority {
CRITICAL, HIGH, MEDIUM, LOW, SOMEDAY
}
private String id;
private String title;
private Status status;
private Priority priority;
}
我想对此实施几种。 例如,String [] keysById(),String [] keysByStatus(),String [] keysByPriority()。 ArrayList或其他东西也没关系。
目前我有一个HashMap:
public class ProjectHash extends HashMap<String, Project> {
public ProjectHash() {
super();
}
// I use add() (instead of put()) because the key is in the value.
public Project add(Project p) {
Project retVal = null;
if(this.containsKey(p.getId())) {
// We've got a problem. I don't know what to do yet: overwrite, or vomit.
// Overwrite for now.
}
retVal = super.put(p.getId(),p);
return(retVal);
}
}
我已经删除了很多错误检查和字段,但希望我已经足够了解重点。这个HashMap每天都看不到很多添加或排序(12?)。
我一直在阅读有关集合,可收集,HashMap,TreeMap,Lists,ArrayLists等的内容,直到我的大脑融化。我可以看到十几种方法来实现它。哪个适合我?它是Java 8,不用担心倒退。