1.ArrayList、LInkedList、Vector在之间的区别?
1.首先这三个类都是List接口的实现类,其中ArrayList他的底层是数组实现是一种线性结构,线性结构在查询上效率较高,但是增加和删除,效率较低。
(一)HashMap
1.HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;
2.HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。
1.首先这三个类都是List接口的实现类,其中ArrayList他的底层是数组实现是一种线性结构,线性结构在查询上效率较高,但是增加和删除,效率较低。
2.LinkedList是使用链表的结构实现的,线性结构,增加和删除比较方便,效率较高,但是查询要进行遍历,效率较低。 3.Vector:是一种线程安全的实现,所以和其他两个实现类相比,效率较低。
(一)HashMap
1.HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;
2.HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。