您可以使用
NavigableMap此方法,它
entrySet()的迭代器以升序顺序返回条目:
NavigableMap<Double, String> myMap = new TreeMap<>();//...for (Map.Entry<Double, String> e : myMap.entrySet()) { Map.Entry<Double, String> next = myMap.higherEntry(e.getKey()); // next Map.Entry<Double, String> prev = myMap.lowerEntry(e.getKey()); // previous // do work with next and prev}每个条目检索都是O(logN),因此对于完整迭代而言,这不是最有效的方法。为了更有效,在迭代时只需记住最后3个条目,并使用1st作为上一个,使用2nd作为当前,使用第3个。
一个TreeMap的是OrderedMap和NavigableMap,将让你与迭代前进,后退,让你访问一个和下一个键lowerKey()和higherKey()分别。但是,它可能不是最佳解决方案。
您能否描述您要解决的实际问题,我们可以为您提供更合适的解决方案?



