java集合

来源:互联网 发布:淘宝大学好不好 编辑:程序博客网 时间:2024/05/21 05:21

集合

 

1、Collection 和 Collections的区别

 Collection是集合类的上级接口,继承与他的接口主要有Set和List。

Collection是针对集合类的一个帮助类,它提供一系列静态方法实现对各种集合的搜索,排序,线程安全化等操作。

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

 用equals()。

Set里的元素是不能重复的,那么用iterator()方法来区分重复与否,equals()是判读两个Set是否相等。

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

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

 Collection中存放的是一组各自独立的对象,而Map中存放的是“键--值”对象。 List和Set都是Coll
ection的子接口,List是一个有序可重复列表,Set是一个无序重复集。 30、 遍历Map和Vector集合
:Map:Iterator迭代器遍历:Map.entrySet().iterator(); XX.hasNext(); 新式for循环启遍历:for(Strin
g key:Map.keySet());Vector:a、 Enumeration枚举器遍历:Enumeration em=Vector.element();
em.hasMoreElement();

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

 不对,有相同的hash code。

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

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

6、HashMap和Hashtable的区别

 HashMap:不同步,不安全,效率高,底层是哈希表结构,无序(可以存储null键和null值)。

Hashtable:同步,安全,效率高,底层是哈希表结构,无序,不可以存储null键和null值。

7、ArrayList和Vector的区别,HashMap和Hashtable的区别

 arraylist:不同步,不安全,效率高,底层是数组结构,查询快,增删慢
Vector:同步,安全,效率低,底层是数组结构,查询快,增删慢

HashMap:不同步,不安全,效率高,底层是哈希表结构,无序(可以存储null键和null值)。

Hashtable:同步,安全,效率高,底层是哈希表结构,无序,不可以存储null键和null值。




原创粉丝点击