java面试小结
2018-02-26 13:14
267 查看
1.java中ArrayList和LinkedList的区别
答:大致区别如下:a.ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表的数据结构;b.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList需要移动指针查询;c.对于新增和删除操作,LinkedList比较占优势,因为ArrayList要移动数据。
2.hashtable和hashmap的区别
答:区别如下:
a.继承和实现方式不同:HashMap继承于AbstractMap,而Hashtable继承于Dictionary
b.线程安全不同:hashtable是线程安全的,而hashmap不是线程安全的,对HashMap的同步处理可以使用ConcurrentHashMap类
c.对null值的处理不同。hashmap的key和value都可以为null,hashtable的key和value都不可以为null
d.支持的遍历种类不同。hashmap只支持iterator遍历,而hashtable支持iterator和enumeration遍历
e.部分API不同。hashtable支持contains(Object value),而hashmap不支持contains(Object value)
答:大致区别如下:a.ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表的数据结构;b.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList需要移动指针查询;c.对于新增和删除操作,LinkedList比较占优势,因为ArrayList要移动数据。
2.hashtable和hashmap的区别
答:区别如下:
a.继承和实现方式不同:HashMap继承于AbstractMap,而Hashtable继承于Dictionary
b.线程安全不同:hashtable是线程安全的,而hashmap不是线程安全的,对HashMap的同步处理可以使用ConcurrentHashMap类
c.对null值的处理不同。hashmap的key和value都可以为null,hashtable的key和value都不可以为null
d.支持的遍历种类不同。hashmap只支持iterator遍历,而hashtable支持iterator和enumeration遍历
e.部分API不同。hashtable支持contains(Object value),而hashmap不支持contains(Object value)