JAVAMap,泛型

今天是来到天亮的第21天,今天主要讲了Map,泛型。

Map:

Map用于保存具有映射关系的数据,因此Map集合里保存两组值。

1. 一组值用于保存key,一组值用于保存value

2. key~value之间存在单向一对一关系,通过指定key可以找到唯一的value值

3. key和value都可以是任何引用类型对象

4. 允许存在value为null,但是只允许存在一个key为null

  1. key无序不可重复
  2. 底层是哈希表

HashMap中key的hashCode值决定了<k,v>键值对组成的entry在哈希表中的存放位置。

HashMap中key通过equals()比较,确定是覆盖key对应的value值还是在链表中添加新的entry。

综合前两条,需要重写hashCode()和equals()方法。

TreeMap:

TreeMap是SortedMap接口的实现类,可以根据Key进行排序,HashMap没有这个功能。

不指定比较器默认按照key自然升序,指定比较器按照比较器排序

TreeMap需要key实现Comparable接口,排序主要看compareTo()方法。

 泛型:

泛型是指所操作的数据类型被指定为一个参数,在用到的时候再指定具体的类型。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口和泛型方法。

好处:

1. 泛型能更早的发现错误,如类型转换错误

2. 使用泛型,那么在编译期将会发现很多之前要在运行期发现的问题

3. 代码量往往会少一些、运维成本减少

4. 抽象层次上更加面向对象

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值