搜索
写经验 领红包

java集合list和set区别(java集合list存储对象)

导语:Java集合-List

1、List 特点

有序、可重复、有索引。

2、常用List

ArrayList、LinkedList、Vector、Stack。

ArrayList 和 LinkedList 最常用。

Vector可以理解成线程安全的ArrayList,不过不建议使用, 需要线程安全的ArrayList可以使用java.util.concurrent包下CopyOnWriteArrayList。

Stack继承自Vector,实现了一个后进先出的堆栈,不过它里面的方法与Vector内部的类似,都使用了synchronized进行同步修饰,效率上存在问题,在不需要同步时可以使用 LinkedList 代替,LinkedList 已经实现了栈、队列、双端队列等接口。

3、ArrayList 理解

3.1 内部实现数据结构

数组

3.2 特点

擅长于随机访问,插入和删除可能引起扩容,效率较低。

4、LinkedList 理解

4.1 内部实现数据结构

双向链表

4.2 特点

擅长于插入和删除,随机访问性能较差。

4.3 方法总结

(1)作为双端队列Deque使用

双端队列方法

(2)作为队列Queue(FIFO先进先出)使用

(3)作为栈Stack(LIFO后进先出)使用

本文内容由小面整理编辑!