集合易混点

1.Collection和Collections的区别:
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现
对各种集合的搜索、排序、线程安全化等操作。


2.Set里元素是不能重复的,那么用什么方法来区分重复与否呢?使用==还是equals()?它们有何区别?

Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。

equals()是判读两个Set是否相等。             

equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的
内容和类型相配的话,返回真值。


3.List,Set,Map是否继承自Collection接口?

   Collection中存放的是一组各自独立的对象,而Map中存放的是“键--值”对象。

 List和Set都是Collection的子接口,List是一个有序可重复列表,Set是一个无序重复集。




4.两个对象值相(x.equals(y)==true),但却可有不同的hash code,这句话对不对?
   不对,有相同的hash code。


5.说出ArrayList,Vector,LinkedList的存储性能和特性。
   ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元
素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而
插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedL
ist使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的
前后项即可,所以插入速度较快。


6.HashMap和Hashtable的区别

   (1)HashMap的是Map接口的实现 

(2)Hashtable方法是同步的,而HashMap的方法,通过默认的非同步的 

(3)在HashMap中,null作为一个键,以便只有一个键;可以有一个或多个对应于该值的关键为空。



7.ArrayList和Vector的区别,HashMap和Hashtable的区别。
   ArrayList和Vector,这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集
合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且
其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号
去检索其中的元素,也不允许有重复的元素。

   HashMap和Hashtable:

(1)HashMap的是Map接口的实现  Hashtable方法是同步的。

(2)而HashMap的方法,通过默认的非同步的 。

(3)在HashMap中,null作为一个键,以便只有一个键;可以有一个或多个对应于该值的关键为空。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值