Java集合简单概述

1.集合框架

1.1集合框架概览

在这里插入图片描述

1.2四个主要接口区别

List:存储的元素是有序的,可重复的

Set:存储的元素是无序的,不可重复的

Queue;存储的数据是有序的,可重复的(先进先出)

Map:使用键值对存储,Key是无序的,不可重复的,Value是无序的,可重复的,如同数学上的函数y=f(x),x是相当于key不可重复的,y相当于value可重复的

无序性是指存储的数据在底层数组中并非按照数组索引的顺序添加

2.Collection接口

在这里插入图片描述

2.1List接口

ArrayList:底层使用Object[]存储,适合用于频繁的查找,线程不安全
在这里插入图片描述

Vector:底层也是Object[],线程安全
在这里插入图片描述
会发现Vector的方法基本都有使用synchronized关键字

LinkedList:底层是使用双向链表,线程不安全
在这里插入图片描述在这里插入图片描述
Node类存储着两个引用next(下一个结点),prev(上一个结点)

2.2Set接口

HashSet线程不安全,底层使用HashMap实现
在这里插入图片描述

LinkedHashSet线程不安全,基于链表和哈希表实现,元素插入和取出顺序满足FIFO

TreeSet底层是红黑树,元素有序

2.3Queue接口

Queue是单端队列,遵循FIFO,一端插入另一端取出
Deque是双端队列,在两端均可插入或删除元素

ArrayDeque基于可变数组和双指针实现
在这里插入图片描述

3Map接口

HashMap,线程不安全,基于HashTable实现

treeMap,基于红黑树实现,线程不安全

ConcurrentHashMap线程安全

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值