Java中常见的八种数据结构

Java中常见数据结构

一、 8种数据结构

Java中有8种常见数据结构

  • 哈希表(Hash)
  • 队列(Queue)
  • 树(Tree)
  • 堆(Heap)
  • 数组(Array)
  • 栈(Stock)
  • 链表(Linked List)
  • 图(Graph)

哈希表(Hash)

哈希表也叫散列表,是一种可以通过关键码值(Key-Value)直接访问的数据结构,可以实现快速查询、插入、删除。

数组类型的数据结构在 插入和删除 时时间复杂度高;链表类型的数据结构在 查询 时时间复杂度高;而哈希表结合了数组与链表的优势。

在jdk8中,Java中经典的HashMap,以 数组+链表+红黑树 构成。

哈希函数在哈希表中起着关键作用,能够将任意长度的输入转为定长的输出(哈希值)。通过哈希函数,能够快速地对数据元素进行定位。

哈希值并不是具有唯一性,在某些情况下Hash值会冲突,HashMap在Hash冲突时,会将元素在数组的位置上添加为链表元素结点,当链表长度大于8时,链表会转换为 红黑树 。

队列(Queue)

类比水管,两端放开,一端入水,一端出水。

队列是一种特殊的线性

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值