J'ai un groupe d'événements qui s'est produit à certaines dates. Chaque événement a un champ Date. Maintenant, je voudrais créer une carte où, pour chaque date (prise à partir de toutes les dates d'événements), j'attribuerai la liste des événements survenus à cette date. Donc, en pseudocode:Enregistrement d'un groupe d'objets avec des dates dans une carte
public Map<Date, List<Event>> function(List<Event> list){
Date[]dates = new Date(list.len());
for(Object o: list)
add o.date to dates
for(int i=0; i<dates.length; i++){
create list of events with date=dates[i] (using some getDate())
add to map(dates[i], list)
}
}
Est-ce une façon de penser appropriée? Si oui: comment puis-je créer une liste d'événements avec une date spécifique et ensuite l'ajouter à la carte? Je commence juste avec les collections.
EDIT
Je suis en train d'utiliser la solution de hisdrewness. Le dernier problème est comment récupérer des événements avec la date souhaitée. Donc je crée un Iterator sur ma carte mais après? En python c'est facile mais comment puis-je obtenir des objets avec date = date 'en Java?
private String getItems(Date date){
String ret = "";
// DatesSortedMap is my previously built map and it works properly
Iterator i = this.DatesSortedMap.entrySet().iterator();
while(i.hasNext()){
//how I can get to the object while having iterator ?
if(object.date = date)
ret += object;
}
return ret;
}