在Java.util包中的LinkedList类、ArrayList类、HashMap类、Vector类的区别和它们都什么时候用??

2025-03-13 11:28:02
推荐回答(2个)
回答1:

ArrayList类、Vector类、LinkedList类
都是可伸缩的数组,就是可以动态改变长度的数组。
ArrayList类是jdk1.1后出现的,在内存中是队列形式存储,适合查找。他不是线程安全的。
Vector类是较老的数组列表,他是线程安全的。
LinkedList类是链表结构的数组,它适合增删改的操作,但与ArrayList相比,查询效率较低。
实际应用中:ArrayList是最常用的。

HashMap类,与之对应的有一个HashTable类,这两个类的区别:
HashMap是新的类,他不是线程安全的。
HashTable是旧的类,他是线程安全的。
他们的共同点是:存储一个键值对形式的数据。并根据键来增删改查。键不能重复!

他们什么时候用,可以用下面几句话概括。
ArrayList 一般适合存储,查找效率高,但不适合删除.修改
LinkedList 适合于删除,效率高
Vecoter 线程同步 线程安全好
HashMap 查找效率特高

回答2:

ArrayList类、HashMap类

这2个常用,用于储存数据的。比如从数据库取出数据啊。取出多条可以存放到List里,然后每一条可以存放到HashMap里。

LinkedList是通过链表实现的List,做插入啊,删除啊等比较快速。一般用的少。

Vector是向量列表,比较老,基本上现在很少用。

List中常用的是ArrayList,Map中是HashMap。Set中是HashSet和TreeSet。