0

arraylistとhashmapに値を追加したい.値を追加している間、前に値を追加し、最後に値を追加するリストに値を追加する.しかし、両方を1つの方法で追加したい.その方法.

ハッシュマップに追加する値は 4055,5040 で、リストには 20,37

しかし、リストを追加すると期待される結果が得られますが、マップは5040,4055として出力されます。

4

1 に答える 1

3

LinkedHashMapの代わりに使用しHashMapます。前者は要素の挿入順序を保持します。

その JavaDoc から (強調鉱山):

反復順序が予測可能な Map インターフェースのハッシュ テーブルとリンク リストの実装。この実装が HashMap と異なる点は、そのすべてのエントリを実行する二重リンク リストを維持することです。この連結リストは反復順序を定義します。これは通常、キーがマップに挿入された順序 (挿入順序) です。

これにより、あなたMapとあなたのList(によって裏打ちされたArrayList)要素が同じ順序になります。

アプリをどのように設計したかはわかりませんが、クラス ( 、 、など...) ではなく、インターフェイス ( Map、 、など...) 向けのプログラムを作成することをお勧めします。詳細: 「インターフェイスにプログラムする」とはどういう意味ですか?ListHashMapArrayList

于 2013-06-10T05:30:24.417 に答える