java笔记java中的常用容器

Posted 棉花糖灬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java笔记java中的常用容器相关的知识,希望对你有一定的参考价值。

java容器

1. 常用容器

img

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更适合遍历

以上是关于java笔记java中的常用容器的主要内容,如果未能解决你的问题,请参考以下文章

java笔记Java中的Optional类

Java 集合容器篇面试题(上)-王者笔记《收藏版》

《Java编程思想》(Thinking in Java)读书笔记——01对象导论

Java学习笔记7.1.1 初探Swing世界 - Swing顶级容器

Java学习笔记7.1.1 初探Swing世界 - Swing顶级容器

Java学习笔记7.3.1 用户界面 - Swing常用组件