为什么不让treeMap.entrySet()和treeMap.keySet()方法返回SortedSet?我可能会说这是一个错误。根据API,Set被定义为没有特定的排序。但是,TreeMap 执行返回的集合具有特定顺序。
答案 0 :(得分:10)
我认为如果他们现在编写了界面SortedMap
,keySet
和entrySet
都会返回SortedSet
。但是,在允许协变返回类型之前,在Java 1.2中引入了SortedMap
接口。他们现在无法更改此内容,因为SortedMap
和keySet
的{{1}}会返回entrySet
而不是 a {Set
{1}}。