treeMap.entrySet()不应该返回一个SortedSet吗?

时间:2015-03-18 18:09:12

标签: java collections

为什么不让treeMap.entrySet()treeMap.keySet()方法返回SortedSet?我可能会说这是一个错误。根据API,Set被定义为没有特定的排序。但是,TreeMap 执行返回的集合具有特定顺序。

1 个答案:

答案 0 :(得分:10)

我认为如果他们现在编写了界面SortedMapkeySetentrySet都会返回SortedSet。但是,在允许协变返回类型之前,在Java 1.2中引入了SortedMap接口。他们现在无法更改此内容,因为SortedMapkeySet的{​​{1}}会返回entrySet 而不是 a {Set {1}}。