集合 接口与接口的区别

1.Collection和Collections的区别?

Collection是一个接口,Collections是一个操作集合的工具类

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

et里的元素是不复能重复的,用iterator()方法来区分重与否. 

equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true


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


Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java JDK不能提供直接继承自Collection的类,Java JDK提供的类都是继承自Collection的'子接口',如:List和Set。

        注意:Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当做一组key集合,一组value集合,或者一组key-value映射。


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

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

5.说出ArrayList,Vector,LinkedList的存储性能,和特性

ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际

存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元

素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 

于使用了 synchronized 方法(线程安全),通常性能上较 ArrayList 差,而

LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,

6.HashMap和Hashable的区别

HashMap 是Hashtable 的轻量级实现(非线程安全的实现),他们都完成了Map 接口,主要
区别在于HashMap 允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap 允许将null 作为一个entry 的key 或者value,而Hashtable 不允许。
HashMap 把Hashtable 的contains 方法去掉了,改成containsvalue 和containsKey。因为contains
方法容易让人引起误解。
Hashtable 继承自Dictionary 类,而HashMap 是Java1.2 引进的Map interface 的一个实现。

7.ArrayList和Vector的区别,HashMap和Hashable的区别

1).同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的 
2).数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值