今天面试官问我treeMap是根据什么来排序,我答的是能根据key和value综合排序,后来从网上一搜发现只能根据key排序。
想知道为什么不能根据value排序呢,我想的是因为treeMap本质上是一个查找树,我们可以实现comparator接口,然后在compare中综合比较key和value,然后建树,增加树节点,删除节点,都按compare中的逻辑来判断大小,这样就保证逻辑是一致的,然后就可以实现综合排序了,如果要修改树节点可以,先删除节点,再添加节点。
总的来说,我的想法就是只要保证排序逻辑前后一致,根据key和value综合排序是可以的,因为建的树是合理的,我这样想有什么问题么?