为什么Map不扩展Collection接口

发布于 2021-01-30 17:20:11

为什么java.util.Map接口不扩展java.util.Collection接口?不是java.util.Map键值对的集合吗?

关注者
0
被浏览
78
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    集合假定一个值的元素。映射假定键/值对的条目。他们本来可以重新使用相同的通用接口,但是它们实现的某些方法不兼容,例如

    Collection.remove(Object) - removes an element.
    Map.remove(Object) - removes by key, not by entry.
    

    您可以将Map建模为条目的集合,这就是这样Map.entrySet()做的。

    有一些共同的方法。size()isEmpty()clear()putAll/addAll()但这些都不太可能有多少价值作为一个独立的接口。(Map.entrySet()可以再次使用)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看