for (Entry entry : map.entrySet()) {
Double key = entry.getKey();
String value = entry.getValue();
// double nextKe
You can use NavigableMap for this, which entrySet()'s iterator return entries in ascending key order:
NavigableMap myMap = new TreeMap<>();
//...
for (Map.Entry e : myMap.entrySet()) {
Map.Entry next = myMap.higherEntry(e.getKey()); // next
Map.Entry prev = myMap.lowerEntry(e.getKey()); // previous
// do work with next and prev
}
Every entry retrieval is O(logN), so for full iteration this is not the most effective approach. To be more effective, on iteration just remember last 3 entries, and use 1st as prev, 2nd as current and 3rd as next, as @Malt suggests.