java集合间的疑难点

文章目录


1、集合Collection中储存的如果是自定义类对象,需要自定义类重写那个方法?为什么?
需要重写equals方法;因为根据hashCode()方法,他们是两个对象,违反了相同对象必须具有相等的散列码,所以对应的类一定要重写equals()和hashCode()方法,以实现对象相等规则(相等的对象必须具有相等的散列码)。

2、在Hashtable上下文中同步是什么意思?
  同步意味着在一个时间点只能有一个线程可以修改哈希表,任何线程在执行hashtable的更新操作前需要获取对象锁,其他线程等待锁的释放。
  3、什么叫做快速失败特性
  从高级别层次来说快速失败是一个系统或软件对于其故障做出的响应。一个快速失败系统设计用来即时报告可能会导致失败的任何故障情况,它通常用来停止正常的操作而不是尝试继续做可能有缺陷的工作。当有问题发生时,快速失败系统即时可见地发错错误告警。在Java中,快速失败与iterators有关。如果一个iterator在集合对象上创建了,其它线程欲“结构化”的修改该集合对象,并发修改异常 (ConcurrentModificationException) 抛出。
  4、怎样使Hashmap同步?
  HashMap可以通过Map m = Collections.synchronizedMap(hashMap)来达到同步的效果。
  
  为什么键集是Set,值集是Collectoion,键值集是Set?
在Map中,键是唯一的,不可重复的,故采用Set(其具有互异性),而值是可重复的,故采用Collectoion
键值集主要是key对value的映射,其也是唯一的,不可重复的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值