java linkedhashmap_Java LinkedHashMap为什么要实现Map接口?

本文探讨了Java中LinkedHashMap和HashMap的设计。LinkedHashMap为了解决HashMap的无序性,通过继承HashMap并实现Map接口来保持插入顺序或访问顺序。这样设计的原因在于,LinkedHashMap需要保留Map接口的所有功能,并且通过继承HashMap获取其核心数据结构。如果不实现Map接口,LinkedHashMap将无法完整体现Map的特性。
摘要由CSDN通过智能技术生成

你看源码只看到了类的定义,而没有更深层次的探索下去这样的原因。我们知道在java中是单继承的,只可以继承一个类,但是可以实现多个不同的接口。

源码LinkedHashMap:

public class LinkedHashMap extends HashMap implements Map

源码HashMap:

public class HashMap extends AbstractMap implements Map, Cloneable, Serializable

之所以这样设计,我想有一下几个原因:

1.LinkedHashMap要保留Map这种数据结构的特性,因此它要实现Map所有的方法。

2.LinkedHashMap是对HashMap中无序问题提出的改进,因此,它继承了HashMap。

试想,如果你只继承了HashMap,而没有实现Map接口,那么是不是Map中的一些方法,LinkedHashMap可以不需要去实现的啊?那么LinkedHashMap保留Map这种数据结构的特性也就失去意义了。

仅供参考~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值