乐趣区

关于java:集合面试题

汇合(被问到的可能性也很高,而且必须要会,不然很影响面试后果)
汇合分为两种 Collection 汇合和 Map 汇合,Collection 汇合是一个接口,外部有两个实
现 list 接口和 Set 接口
问题一:list 汇合和 set 汇合的区别
List 汇合是存储有序的可反复的数据,Map 汇合存储无序的不可反复的数据,如果反复的
数据存入,就会对原有数据进行笼罩。List 汇合有 ArrayList 和 linkedlist,Set 汇合次要
有 hashSet,Map 汇合次要有 hashmap 和 hashtable
问题二:Arraylist 和 linkedlist 的区别

  1. ArrayList 的实现是基于数组来实现的,LinkedList 的基于双向链表来实现。
  2. LinkedList 比 ArrayList 更占内存,因为 LinkedList 的节点除了存储数据,还存储了两个援用,一个指向前一个元素,一个指向后一个元素。
  3. 对于随机拜访,ArrayList 要优于 LinkedList。
  4. 对于插入和删除操作,LinkedList 优于 ArrayList(实践上),理论并非如此(实际上 ArrayList 不论是插入还是删除效率,在元素数量趋多时,都是要优于 LinkedList 的

问题三:hashmap 和 hashtable 的区别
1、HashMap 继承 AbstractMap 类。
Hashtable 继承了 Dictionary 类。
2、HashMap 容许有 null 的键和值。~~~~
Hashtable 不容许有 null 的键和值。
3、Hashtable 的办法是 synchronized 的,HashMap 不是。
Hashtable 是线程平安的,HashMap 是非线程平安的。
4、HashMap 有 containsvValue 和 containsKey 办法。
Hashtable 有 contains 办法。

退出移动版