web-dev-qa-db-ja.com

HashMapで挿入順を維持する方法

私はHashMapを使っています。マップを反復処理すると、データは(多くの場合同じ)ランダムな順序で返されます。しかし、データは特定の順序で挿入されたので、挿入順序を維持する必要があります。これどうやってするの?

432
realtebo

LinkedHashMap はまさにあなたが探しているものです。

HashMapとまったく同じですが、それを繰り返すときに挿入順に項目が表示される点が異なります。

950
NPE

HashMap は、ドキュメントの2行目では順序付けられていません。

このクラスはマップの順序に関して何の保証もしません。特に、それは順序が時間の経過とともに一定に保たれることを保証するものではありません。

おそらく、あなたはaixが示唆しているようにLinkedHashMapあるいは他の順序付けられたコレクションを使うことができます。 このリンクを使用すると、最も適切なコレクションを見つけるのに役立ちます。

62