hashset hashmap hashtable arraylist vector 区别

Collection接口下面包含Set和List 接口

 

Set集合中不区分元素顺序,且不允许出现重复元素,List则相反

java集合中包含的是对象的引用而不是对象本身

 

Map接口下面包含Hashmap

 

HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。


HashTable使用Enumeration,HashMap使用Iterator。

 

ArrayList与Vector主要从二方面来说.

 

一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

 

二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

 

就HashMap与HashTable主要从三方面来说。

 

一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现

 

二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的

 

三.值:只有HashMap可以让你将空值作为一个表的条目的key或value

 

你可能感兴趣的:(常见面试题)