私はTreeMap
カスタムを持っていますComparator
。Map の値の 1 つを更新したいのですが、 によってチェックされたフィールドComparator
が変更された場合、Map はその順序を維持しますか?
1 に答える
2
マップに格納されているキーは決して変更しないでください。または、少なくともequals()
and hashCode()
(HashMap の場合) またはcompareTo()
/ compare()
(SortedMap の場合) の実装に使用されるフィールドを変更しないでください。
これにより、マップが一貫性のない状態になり、その後は確実に機能することは期待できません。
もちろん、キーをマップから削除して変更し、再度挿入することもできます。
ただし、不変の型をマップのキーとして使用して、自分自身を撃たないようにすることをお勧めします。
于 2012-12-17T21:04:12.907 に答える