java技术:Vector,HashMap,ArrayList的区别是什么啊?那个使用跟好呢?

2025-05-16 02:39:50
推荐回答(2个)
回答1:

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

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

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

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

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

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

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

回答2:

1.继承于Collection接口的有 ArrayList , Vector, Linkedlist ,
HashSet , TreeSet (Vector强烈建议不使用,性能低)

2.继承于MAP接口的有 HashMap , Hashtable. (建议使用HashMap,因为Hashtable是同步的,效率低)