【java笔记】java中的常用容器

java容器

1. 常用容器

【java笔记】java中的常用容器

java容器分为两大部分:Collection和Map。Collection是单个元素的集合,又可以分为List、Queue和Set。Map用来存储一组键值对,又可以分为HashMap和TreeMap。

2. List列表

List的特点就是所有的元素是可以重复的。

(1) ArrayList

ArrayList是一个可以动态增长的数组, ArrayList由于底层是使用数组实现的,所以随机访问速度快,插入删除较慢。

(2) LinkedList

LinkedList是使用链表实现的,在列表中插入和删除速度快,但是查找需要遍历整个链表,速度较慢。使用LinkedList可以实现很多队列、栈的数据结构

(3) Vector

Vector是一个已经被弃用的类,因为他是线程同步的,而我们平时使用的时候都是非同步的,使用同步的坏处就是会在一个记录上加锁,防止多个程序访问同一条数据导致数据不同步。这样会导致访问速度变慢。

3. Queue队列

队列是一个满足“先进先出”的数据结构。

(1) LinkedList

LinkedList提供了方法支持队列操作,并且实现了Queue接口,所以LinkedList是队列的一种实现,可以通过LinkedList向上转型为Queue

(2) PriorityQueue

PriorityQueue是优先级队列。

4. Set集合

集合中的元素不可以重复。

(1) HashSet

HashSet底层是使用散列函数,在查询的方面有优化

(2) TreeSet

TreeSet底层使用的是红黑树

5. Map映射

Map是使用键值对存储的一种结构,所以在处理列如单词统计等方面是杀手锏

(1) HashMap

HashMap更适合查找、删除、插入

(2) TreeMap

TreeMap更适合遍历

上一篇:链表的好处、泛型、Set接口


下一篇:ArrayList、Vector、LinkedList、CopyOnWriteArrayList等详解