Arraylist和linkedlist的区别,hashmap和hashtable的区别,hashmap和hashset的相同与不同,hashcode的用法

Arraylist和linkedlist的区别

相当于数组和链表的区别:当arraylist中添加对象时对应的数组长度就要改变,因此便于查找(直接get(i)就ok)而不利于增删改;相反linkedlist相当于链表可以进行增删改,但是查询要从第一个节点开始会浪费时间。

hashmap和hashtable的区别

a.hashmap实现了map接口,而hashtable继承了Dictionary类。b。hashtable是同步的,而hashmap不同步,这就意味着多线程中调用hashmap不能实现同步,但是利用Collection类中的静态方法synochronizedMap()可以创建map对象,这样就可以调用hashmap了,所以对于单线程还是多线程hashmap都可以胜任而对于hashtable用在单线程就有点大材小用了,增加费用。因此大多数存在线程同步的话用hashtable,其他情况下使用hashmap c。hashmap允许k,v为null,关键字key是唯一不重复的但是k为null只有一项而v为null可以有很多项,用containKey()来判断key是否为空。

hashmap和hashset的相同与不同

hashmap一一对应,是有序的集合所以查找起来比较快而hashset是只显示key值hashmap,是一个集合,是无序的,因此查找很慢,且不能重复添加。

hashcode的用法

相当于对象的一个二进制编码,比较两个对象是否相等,这也保证hashmap中的key值是唯一的
与equals的区别:equals重写可以判断内容是否相等返回布尔型,而hashcode返回int型,想要判断2个对象物理相等用==

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值