Ich muss eine Integer
week
finden, die gepaart Date
ist das nächste Datum der aktuellen Zeitstempel.Implement Vergleich gegen Map-Werte
Mit anderen Worten: ein Date auszuführen vergleichen gegen Werte in matchMap
:
Map<Integer, Date> matchMap = null;
for (MatchSummary match : matchList) {
String str_date = match.getDate();
Date matchDate = null;
try {
matchDate = new SimpleDateFormat("yyyy-MMM-dd'T'HH:mm:ss.SSS'Z'" , Locale.getDefault()).parse(str_date);
} catch (java.text.ParseException e) { e.printStackTrace(); }
matchMap.put(match.getWeek(),matchDate);
}
Nächster Schnipsel findet das am nächsten Tag auf den aktuellen Zeitstempel:
final long now = System.currentTimeMillis();
Date closest = Collections.min(MAP_VALUE, new Comparator<Date>() {
public int compare(Date d1, Date d2) {
long diff1 = Math.abs(d1.getTime() - now);
long diff2 = Math.abs(d2.getTime() - now);
return Long.valueOf(diff1).compareTo(Long.valueOf(diff2));
}
);
Was in MAP_VALUE
param sollten sein Können Sie dann das Ziel erreichen?
'matchMap.values ()'? – saka1029