数据结构 java数据结构之有序集合TreeSet和普通集合HashSet的使用

集合元素与数组,还有列表(ArrayList)最大的区别就是,集合中不存在重复的元素,它天然具有去重性。

一、普通集合HashSet

1.HashSet与其他数据集合的关系

HashSet与其他数据集合的关系

2.HashSet包含的主要方法

HashSet包含的主要方法

3.HashSet的存储
  • HashSet的底层是存储在一个HashMap中的
    • 各元素为HashMap的键,值为一个固定的空对象

注:为什么不用数组来存储数据元素呢?

  • 因为集合的元素是不可重复

数据结构 Java数据结构之堆(优先队列)PriorityQueue的使用及实现解读

java中的PriorityQueue即优先队列,底层通过数组存储的方式实现了小顶堆

一、PriorityQueue的使用

1.PriorityQueue与其他数据结构的关系
(1)PriorityQueue与其他集合数据结构的继承关系

PriorityQueue与其他集合数据结构的继承关系

(2)PriorityQueue实现的方法

PriorityQueue实现的方法

2.PriorityQueue的使用
(1)实例化
  • new PriorityQueue():使用默认容量和比较器
  • new Pr

数据结构 通过JAVA实现堆(优先队列)的数据结构

一、什么是堆

我们日常生活中经常见到各种堆,比如冬天的雪堆,施工的土堆,都是下面大,上面尖顶的样子,那么数据结构中的堆与日常生活中的堆有哪些异同呢?

日常生活中的堆与数据结构中的堆

1.堆的性质
  • 堆是一个完全二叉树(除了最后一层,其他层从左到右的节点都是满的)
  • 堆中的节点,都大于等于或小于等于其子节点
  • 堆通常使用数组来存储
2.堆的分类
  • 大顶堆
    • 所有节点大于或等于其子节点

大顶堆

  • 小顶堆
    • 所有节点大于或小于其子节点

小顶堆

二、通过数组实

数据结构 Java数据结构之HashMap的使用及实现原理解读

HashMap是一种以key-value键值对为节点的数据集合

一、HashMap的使用

1.HashMap与其他集合数据结构的关系
(1)HashMap与其他集合的继承关系

HashMap与其他集合数据结构的关系

(2)HashMap所包含的方法

HashMap实现的方法

2.HashMap遍历元素的方式
(1)通过遍历表的所有key,再通过key来获取值
  • 适合场景:只需要获取表的key的情况
  1. Map<Integer, String> userMap =