1

LinkedHashMapがdbから戻ってきました。このマップから、正確に最後の要素(キー)を取得する必要があります。keySetメソッドを使用してすべてのキーを取得すると、キーのセットが返されますが、セットは順序を保証しません。dbから返されたリンクされたハッシュマップから正確に最後のキーを取得する必要があります。どうやってやるの ?

以下は、データベースからデータを取得する方法のコードです。

LinkedHashMap<String,String> map = someDao.getMap(String input);

このマップから、最後の要素を取得する必要があります。

ありがとう!

4

2 に答える 2

6

keySet()確かに要素の順序を「覚えている」LinkedHashMapリターンで実行されます。LinkedHashSetSet

次のように最後の要素を取得できます。

Map<TheType> map = .....
.................
TheType theLastKey = new ArrayList<>(map.keySet()).get(map.size() - 1)
于 2012-03-08T11:15:38.103 に答える
0

別の投稿からの回答は、この回答に役立ちました。plsはJavaHashMapを参照 します:インデックスによってキーと値を取得する方法は?元の投稿の場合。

Object myKey = myHashMap.keySet().toArray()[0];

ここで私は0を置き換えました

toArray()[0]  - (where 0 represents the first item in the keyset)

キーセットのサイズで

toArray()[(keyset().size)-1] 

注:最後に-1がないと、ArrayIndexOutOfBoundsExceptionが発生します。

于 2014-06-12T15:18:43.067 に答える