1.HashMap和Hashtable区别:
-Hashtable:线程安全,效率低。不允许null键和null值
-HashMap:线程不安全,效率高。允许null键和null值
2.List,set,Map区别:
-List:有序,可重复
-set:无序,唯一
添加:add 遍历:迭代器或增强版for
-Map:Map的键唯一,值可重复,Map适合储存键值对的数据
添加:put 遍历:键
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高
|--Vector
底层数据结构是数组,查询快,增删慢。
线程安全,效率低
|--LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
4.ArrayList,LinkedList区别:
-ArrayList:底层数据结构是数组,查询快,增删慢。
线程不安全,效率高
-LinkedList:底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
5.Collection和Collections区别:
-Collection:是单列集合的顶层接口,有子接口List和Set。
-Collections:是针对集合操作的工具类
6.List,set,Map都继承Collection?
-List和set继承自Collection接口
-Map接口本身就是一个顶层接口
7.List,Set,Map等接口是否都继承子Map接口?
-List,Set不是继承自Map接口,它们继承自Collection接口
-Map接口本身就是一个顶层接口
8.线程安全集合类与非线程安全集合类
-LinkedList、ArrayList、HashSet是非线程安全的,Vector是线程安全的;
-HashMap是非线程安全的,HashTable是线程安全的;
-StringBuilder是非线程安全的,StringBuffer是线程安全的。
9.其他特征:
-List,Set,Map将持有对象一律视为Object型别。
-Collection、List、Set、Map都是接口,不能实例化。
继承自它们的 ArrayList, Vector, HashTable, HashMap是具象class,这些才可被实例化。
-vector容器确切知道它所持有的对象隶属什么型别。vector不进行边界检查。
-Hashtable:线程安全,效率低。不允许null键和null值
-HashMap:线程不安全,效率高。允许null键和null值
2.List,set,Map区别:
-List:有序,可重复
-set:无序,唯一
添加:add 遍历:迭代器或增强版for
-Map:Map的键唯一,值可重复,Map适合储存键值对的数据
添加:put 遍历:键
3.ArrayList,Vector,LinkedList存取元素性能和特点:
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高
|--Vector
底层数据结构是数组,查询快,增删慢。
线程安全,效率低
|--LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
4.ArrayList,LinkedList区别:
-ArrayList:底层数据结构是数组,查询快,增删慢。
线程不安全,效率高
-LinkedList:底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
5.Collection和Collections区别:
-Collection:是单列集合的顶层接口,有子接口List和Set。
-Collections:是针对集合操作的工具类
6.List,set,Map都继承Collection?
-List和set继承自Collection接口
-Map接口本身就是一个顶层接口
7.List,Set,Map等接口是否都继承子Map接口?
-List,Set不是继承自Map接口,它们继承自Collection接口
-Map接口本身就是一个顶层接口
8.线程安全集合类与非线程安全集合类
-LinkedList、ArrayList、HashSet是非线程安全的,Vector是线程安全的;
-HashMap是非线程安全的,HashTable是线程安全的;
-StringBuilder是非线程安全的,StringBuffer是线程安全的。
9.其他特征:
-List,Set,Map将持有对象一律视为Object型别。
-Collection、List、Set、Map都是接口,不能实例化。
继承自它们的 ArrayList, Vector, HashTable, HashMap是具象class,这些才可被实例化。
-vector容器确切知道它所持有的对象隶属什么型别。vector不进行边界检查。