Java 如何使用比较器将HashMap转换为TreeMap?
在我的代码中,我有以下HashMap,其中键是一个犬舍对象,值是该犬舍中的狗对象列表 当我填充了HashMap之后,我可以将它转换成树映射并传入一个比较器吗Java 如何使用比较器将HashMap转换为TreeMap?,java,hashmap,treemap,Java,Hashmap,Treemap,在我的代码中,我有以下HashMap,其中键是一个犬舍对象,值是该犬舍中的狗对象列表 当我填充了HashMap之后,我可以将它转换成树映射并传入一个比较器吗 Map<Kennel, List<Dog>> mapOfKennelsAndDogs; //populate the map //convert it to a treemap? 只需使用比较器创建树映射,然后添加所有条目 Comparator<Kennel> ordering = ...; Tre
Map<Kennel, List<Dog>> mapOfKennelsAndDogs;
//populate the map
//convert it to a treemap?
只需使用比较器创建树映射,然后添加所有条目
Comparator<Kennel> ordering = ...;
TreeMap<Kennel, List<Dog>> treeMap = new TreeMap<>(ordering);
treeMap.putAll(mapOfKennelsAndDogs);
嗯,你已经提到了你需要的东西。你为什么要我们试着做下一步?换言之:你的问题听起来像是修辞;你真的需要其他人来回答吗?填充一个然后转换成另一个是没有意义的。只需填充树映射,不要在alltreeMap.putAllhashMap;上使用HashMap;。谢谢,这会使用comparator对hashmap进行重新排序吗?不会,它将使用给定的comparator创建一个新的树映射,用于对条目进行排序。HashMap永远不能由比较器排序;这是两种根本不同的地图实现。