java – 为什么LinkedHashMap类实现Map接口?
发布时间:2020-12-14 16:21:21 所属栏目:Java 来源:网络整理
导读:参见英文答案 Why do many Collection classes in Java extend the abstract class and implement the interface as well?10个 HashMap类实现了Map接口: public class HashMapK,V extends AbstractMapK,Vimplements MapK,V,Cloneable,Serializable LinkedHa
参见英文答案 >
Why do many Collection classes in Java extend the abstract class and implement the interface as well?10个
HashMap类实现了Map接口: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>,Cloneable,Serializable LinkedHashMap类扩展了HashMap,这意味着它应该默认实现Map接口.为什么明确实现Map接口? public class LinkedHashMap<K,V> extends HashMap<K,V> 解决方法
你说得对:丢弃Map< K,V>来自链接哈希映射的声明不会改变任何东西.虽然LinkedHashMap< K,V>将实现Map< K,V>仅仅因为它扩展了HashMap< K,链接哈希映射从常规哈希映射派生的事实是实现细节,而不是硬性要求.
实现Map< K,V>另一方面,界面是一项基本要求.如果设计者决定实施LinkedHashMap< K,则该要求不会消失.从头开始,或依赖于其他一些基类,例如链表. 这就是为什么LinkedHashMap的设计者< K,V>提到地图< K,V>明确地说:如果在某个晚些时候基类会因重新设计而改变,那么界面将保持不变. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |