I'm writing an application where I need to read previous lower and next higher date. For that I used reference from here. But Map.lowerKey(Date) every time return same request..(Date) object.
Sample Code:
Calendar c = Calendar.getInstance();
TreeMap<Date, String> treemap = new TreeMap<>();
for (int i = 0; i < 5; i++) {
treemap.put(c.getTime(), (i + 1) + "");
if(i == 3)
c.add(Calendar.DATE, 2); // number of days to add
else
c.add(Calendar.DATE, 1); // number of days to add
}
c = Calendar.getInstance();
c.add(Calendar.DATE, 1);
System.out.println("C_Time : "+ c.getTime() + ", L_Time: " + treemap.lowerKey(c.getTime()) + ", G_Time: " + treemap.higherKey(c.getTime()));
In response it giving:
C_Time : Sat May 16 17:39:51 IST 2015, L_Time: Sat May 16 17:39:51 IST 2015, G_Time: Sun May 17 17:39:51 IST 2015
Here higherKey value is fine but lowerKey returning same request object.
Anything I'm missing here ?