![](https://img-blog.csdnimg.cn/6e64464a823340678989a7c86f268341.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java数据结构
文章平均质量分 94
本专栏将带领各位小伙伴手撕Java数据结构!主要讲解顺序表,链表,栈,队列,二叉树,双向队列,对象的比较,常用排序算法,Map和Set,以及反射枚举Lambda的使用。
程序猿教你打篮球
CSDN内容合伙人,篮球是爱好,代码是工作,跟着爱打篮球的程序员学编程,享受运动中的编程,编程中的运动!
展开
-
【Java 数据结构】模拟实现 HashMap
本期主要讲解: 1、前言 2、成员变量的设定 3、构造方法 4、hash 方法以及 阈值判断方法 5、put 方法 6、resize 方法 7、get 方法原创 2023-02-06 10:56:17 · 6667 阅读 · 11 评论 -
【Java 数据结构】HashMap和HashSet
本期主要讲解: 1、认识 HashMap 和 HashSet 2、哈希表 2.1 什么是哈希表 2.2 哈希冲突 2.2.1 概念 2.2.2 设计合理哈希函数 - 避免冲突 2.2.3 调节负载因子 - 避免冲突 2.2.4 Java中解决哈希冲突 - 开散列/哈希桶 3、HashMap 的部分源码解读 3.1 HashMap 的构造方法 3.2 HashMap是如何插入元素的? 3.3 哈希表下的链表,何时会树化? 4、相关面试题原创 2023-01-31 13:30:34 · 8804 阅读 · 52 评论 -
【Java 数据结构】TreeMap和TreeSet的介绍
本期主要讲解: 1、认识 TreeMap 和 TreeSet 2、TreeMap 的主要成员变量 3、TreeMap 的主要构造方法 4、TreeMap 和 TreeSet 的元素必须可比较 5、TreeMap 和 TreeSet 关于 key 有序 6、TreeMap 和 TreeSet 的关系原创 2023-01-19 10:43:32 · 11181 阅读 · 20 评论 -
【Java 数据结构】Map和Set的介绍
本期主要讲解: 1、Map 和 Set 的概念 2、模型 3、Map 的学习 3.1 关于 Map.Entry 3.2 Map 的常用方法 4、Set 的常用方法 5、 Map 和 Set 的注意点原创 2023-01-14 11:28:35 · 5867 阅读 · 23 评论 -
【Java 数据结构】实现一个二叉搜索树
本期主要讲解:1、认识二叉搜索树2、实现一个二叉搜索树2.1 成员变量2.2 insert 方法2.3 search 方法2.4 remove 方法(重点)3、二叉搜索树总结原创 2023-01-09 15:27:08 · 6925 阅读 · 55 评论 -
【Java 数据结构】常见排序算法(下)
本期主要讲解:1、上期回顾2、冒泡排序3、快速排序3.1 理解快速排序的二叉树结构3.2 Hoare 法3.3 三数取中3.4 小区间优化3.5 挖坑法3.6 前后指针法3.7 注意事项4、归并排序原创 2023-01-04 18:58:23 · 2283 阅读 · 18 评论 -
【Java 数据结构】常见排序算法(上)
本期主要讲解:1、 认识排序2、常见排序的分类3、直接插入排序4、希尔排序(缩小增量排序)5、选择排序6、堆排序原创 2022-12-31 20:47:27 · 4329 阅读 · 19 评论 -
【Java 数据结构】优先级队列
本期主要讲解:1、优先级队列1.1 优先级队列概念1.2 堆的概念1.3 堆的存储结构2、模拟实现优先级队列2.1 成员变量的设定2.2 根据数组构造出一个堆2.3向下调整2.4 createHeap 方法实现2.5 offer 方法实现2.6 poll 方法实现3、PriorityQueue 的使用3.1 注意事项3.2 PriorityQueue 如何创建大堆?3.3 PriorityQueue 的扩容机制4、top-k 问题原创 2022-12-26 09:15:38 · 3782 阅读 · 26 评论 -
【Java 数据结构】树和二叉树
本期主要讲解:1、什么是树?1.1 简单认识树1.2 树的概念1.3 树的表示形式2、二叉树2.1 二叉树的概念2.2 特殊的二叉树2.3 二叉树的性质2.4 二叉树性质相关习题3、实现二叉树的基本操作3.1 了解二叉树的存储结构原创 2022-12-21 08:30:00 · 6849 阅读 · 52 评论 -
【Java 数据结构】栈与OJ题
本期主要讲解:1、什么是栈?2、模拟实现一个栈2.1 构造方法和成员属性2.2push 方法2.3pop 方法2.4 peek 方法2.5 empty 方法3. 栈相关的OJ题3.1有效括号(来源:LeetCode 难度:简单)3.2 逆波兰表达式求值(来源:LeetCode 难度:中等)3.3栈的压入、弹出序列(来源:牛客网 难度:中等)原创 2022-11-21 14:02:09 · 2326 阅读 · 65 评论 -
【Java 数据结构】双向链表
本期主要讲解:1、什么是双向链表2、实现一个双向链表2.1 实现前的约定2.2 addFirst 方法2.3 addLast 方法2.4 addIndex 方法2.5 contains 方法2.6 removeAllKey 方法3、LinkedList 的学习3.1认识下 LinkedList3.2 LinkedList 的构造方法3.3 LinkedList 的遍历4、ArrayList 和 LinkedList的区别原创 2022-11-16 16:37:30 · 2534 阅读 · 30 评论 -
【Java 数据结构】队列与OJ题
本期主要讲解:1、什么是队列?2、初识Queue2.1 认识一下Queue2.2 简单使用下Queue3、模拟实现Queue3.1 构造方法和成员属性3.2 offer 方法3.3 poll 方法3.4 peek 方法4、队列相关的OJ题4.1设计循环队列 (来源:LeetCode 难度:中等)4.2用队列实现栈 (来源:LeetCode 难度:简单)4.3用栈实现队列 (来源:LeetCode 难度:简单)4.4最小栈(来源:LeetCode 难度:中等)原创 2022-12-11 13:37:30 · 3730 阅读 · 40 评论 -
【Java 数据结构】单链表与OJ题
本期主要讲解:1、什么是链表?2、实现一个单向非循环链表2.1 实现前的约定2.2 addFirst 方法2.3addList 方法2.4 addIndex 方法2.5 contains 方法2.6 remove 方法2.7 removeAllKey 方法2.8 size 和 clear 方法3、单链表OJ题深度解剖3.1 移除链表元素(来源:LeetCode 难度:简单)3.2反转链表(来源:LeetCode 难度:简单)3.4链表中倒数第k个节点(来源:牛客网)...原创 2022-11-07 11:14:47 · 2813 阅读 · 96 评论 -
【Java 数据结构】顺序表
本期主要讲解:1、什么是顺序表?2、模拟实现ArrayList2.1 模拟实现前的约定2.2构造方法2.3 add方法2.4 contains 方法2.5 indexOf 方法2.6 get 方法2.7 set 方法2.8 remove 方法2.9 getSize 和 clear 方法3、ArrayList 的学习3.1 ArrayList的成员属性3.2 ArrayList的构造方法4、ArrayList的使用4.1 ArrayList的遍历4.2 扑克牌例子原创 2022-11-01 09:05:15 · 3748 阅读 · 134 评论