我从db返回LinkedHashMap。从这张地图我需要得到确切的最后一个元素(键)。如果我使用keySet方法获取所有键,则返回Set of keys但Set不保证顺序。我需要从db返回的链接hashmap中取出最后一个键。我怎么能这样做?
下面是我从数据库获取数据的代码。
LinkedHashMap<String,String> map = someDao.getMap(String input);
从这张地图我需要采取最后一个元素。
谢谢!
答案 0 :(得分:6)
keySet()
上执行的{p> LinkedHashMap
会返回LinkedHashSet
Set
,但确实会“记住”元素的顺序。
您可以获得以下最后一个元素:
Map<TheType> map = .....
.................
TheType theLastKey = new ArrayList<>(map.keySet()).get(map.size() - 1)
答案 1 :(得分:0)
来自不同帖子的回答帮助我得到了这个答案。请参考 原始帖子Java HashMap: How to get a key and value by index?。
Object myKey = myHashMap.keySet().toArray()[0];
我已经取代了0
toArray()[0] - (where 0 represents the first item in the keyset)
使用键集的大小
toArray()[(keyset().size)-1]
注意:如果最后没有-1,你将得到一个ArrayIndexOutOfBoundsException。