Java排序集合

Gio*_*nte 2 java

有谁知道在我更新我的一个密钥属性的情况下是否可以保存TreeMap?

让我们假设我的密钥按属性'a'排序,而b则用于equals():

class Key implements Comparable<Key> {
   int a;
   int b;
   // compareTo, equals end hashcode here
}
Run Code Online (Sandbox Code Playgroud)

当添加键/值对时,它们将在TreeMap中排序,但是如果我更新其中一个键(属性a),我怎么能确保TreeMap会对它们进行排序?

Dra*_*hts 7

唯一安全的方法是删除项目,进行更改并重新添加.修改数据项中的密钥或哈希码会使基本的一致性合同无效.