java中常见的几种数据结构

数据结构:
数据结构是计算机存储、组织数据的方式。
java中常见的几种数据结构这里就介绍下平时容易混淆的几种数据结构:
1、栈:栈是一种特殊的线性表只能在栈顶允许操作,栈底不允许操作。栈的特点是:先进后出,或者说是后进先出,从栈顶放入元素的操作叫入栈,取出元素叫出栈。
java中常见的几种数据结构
2、队列:队列与栈一样,也是一种线性表,不同的是队列先进先出,一端添加元素,另一端取出元素
3、散列表:也叫哈希表,是根据关键码和值(key和value)直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。

  • 记录的存储位置=f(key)
  • f成为散列函数,又称为哈希,而散列表就是把key通过一个固定的算法函数(哈希函数)转换成一个整型数字,然后将该数字对数组长度进行取余,取余结果作为数组下标,
  • 将value存储在以该数字为下标的数组空间里,这种存储空间可以充分利用数组的查找优势来查找元素,所以查找很快。
  • 拉链法:拉链法是数组结合链表的一种结构,较早前的hashmap底层的存储就是采用这种结构。(java1.8后的hashmap底层是又数组链表加红黑树。)
  • java中常见的几种数据结构

4、树:看图
java中常见的几种数据结构重点重点来了
重点重点来了
重点重点来了
5、堆:堆是一种比较特殊的数据结构,可以被看做一棵树的数组对象,具有一下的性质:1、堆中某个节点的值总是不大于或不小于其父节点的值,2、堆总是一颗完全二叉树

  • 将根节点最大的堆叫做最大堆,根节点最小的堆叫做最小堆。 因为堆有序的特点,一般用来做数组中的排序,称为堆排序。

java中常见的几种数据结构终于知道堆长啥样了 平时就堆栈堆栈的说着 这结构差老远了!