java树映射什么时候进行排序?

java树映射什么时候进行排序?,java,collections,Java,Collections,有人能告诉我们TeeMap什么时候进行排序吗?比如,在我们迭代映射之前,通过put方法添加条目?我试图在javadoc中查找,但没有成功。这是在更改操作期间完成的 例如,下面是方法put的jdk8实现: public V put(K键,V值){ 条目t=根; 如果(t==null){ 比较(key,key);//类型(可能为null)检查 root=新条目(键、值、空); 尺寸=1; modCount++; 返回null; } int-cmp; 进入父母; //拆分比较器和可比较路径 比较树映射

有人能告诉我们TeeMap什么时候进行排序吗?比如,在我们迭代映射之前,通过put方法添加条目?我试图在javadoc中查找,但没有成功。

这是在更改操作期间完成的

例如,下面是方法
put
的jdk8实现:

public V put(K键,V值){
条目t=根;
如果(t==null){
比较(key,key);//类型(可能为null)检查
root=新条目(键、值、空);
尺寸=1;
modCount++;
返回null;
}
int-cmp;
进入父母;
//拆分比较器和可比较路径

比较树映射总是被排序的,因此在添加/删除元素时必须进行排序。类本身的Javadoc已经暗示:“这个实现为containsKey、get、put和remove操作提供了保证的日志(n)时间成本”——这些方法的成本源于需要查找元素(无论是您要查找的还是要在之前或之后插入的)。您到底想找出什么?从开发人员的角度来看,此集合始终是有序的。关于
remove()
?所有更改操作(put/putAll/remove/等)都是一样的。您可以在这里找到
TreeMap
的整个实现: