
JavaSE
文章平均质量分 95
介绍一些JavaSE的基本语法,数据类型,数据结构等各种干货!
Java SE(Java Standard Edition,Java 标准版)是Java技术的核心和基础,是Java ME和Java EE编程的基础 。
未见花闻
2021博客新星top4,2021博客之星前50名。一枚双非非科班在读本科大学生,努力奋斗转码中,想去大厂。欢迎一起交流,相互学习。
展开
-
【JavaSE专栏内容导航】JavaSE与数据结构基础知识系列
大家好!这是Java基础知识博文的导航帖,收藏我!学习Java不迷路!原创 2021-11-11 08:53:16 · 2137 阅读 · 11 评论 -
Java 中 HashMap 与 HashSet 底层实现原理(配套习题)
HashMap 是 Java 集合框架中 Map 容器的一个实现类,用于存储键值对(key - value)。在 JDK 7 中,其底层采用数组 + 链表实现;在 JDK 8 中,采用数组 + 链表 + 红黑树实现。所有的 key 构成一个 Set 集合,key 无序且不能重复,同时 HashMap 支持存储 key/value 为null的元素。原创 2025-05-05 14:20:08 · 696 阅读 · 0 评论 -
【闲笔杂谈】ArrayList的构造与扩容机制
本篇文章将介绍Java中ArrayList的扩容机制,其实创建ArrayList对象的时候,系统并没有给ArrayList中数组开辟空间,第一次开辟空间的时机是第一次插入数据的时候。原创 2022-10-02 23:11:04 · 386 阅读 · 0 评论 -
【JavaSE终幕式】反射枚举与Lambda表达式
篇文章将介绍JavaSE基础语法,第一位选手是我们的照妖镜,说错了,是反射!第二位选手是我们的枚举大哥,最后一位压轴登场的是永远看不清内心的Lambda表达式,同时这也是博主JavaSE专栏的最后一篇文章,我们完结撒花了!...原创 2022-08-29 20:03:03 · 3318 阅读 · 13 评论 -
HashMap与HashSet的底层实现原理
本篇文章将介绍Java中HashMap的底层实现原理,有关HashMap为数组开辟内存的时期,默认的容量,默认负载因子,树化的条件,HashMap的扩容机制,put方法的过程以及HashMap中的哈希函数。原创 2022-08-14 08:00:00 · 2175 阅读 · 35 评论 -
【JavaSE与数据结构】数据结构之哈希表
本篇文章将介绍哈希表的基本概念,哈希函数,哈希冲突的预防以及哈希冲突的解决方式,哈希表的简单实现。原创 2022-08-12 21:20:59 · 653 阅读 · 35 评论 -
【JavaSE与数据结构】数据结构之二叉搜索树
本篇文章带大家认识数据结构——二叉搜索树,本文将介绍搜索树的概念以及使用java实现二叉搜索树。原创 2022-03-10 18:24:14 · 1060 阅读 · 31 评论 -
【JavaSE与数据结构】Java集合框架之Set与Map及其相关实现类
本篇文章带大家认识集合框架—Set与Map及其相关实现类,这是关于集合框架的最后一篇文章,本文将介绍Set与Map及其相关实现类的使用,它们底层的实现原理暂不关心,重点是使用,后续文章将会介绍底层的原理。原创 2022-03-07 12:20:35 · 1638 阅读 · 50 评论 -
【JavaSE系列】Java类的特性之内部类
本篇文章带大家认识Java基本语法——内部类,将一个类定义放在另一类的定义的内部,这个就是内部类,内部类允许讲一些逻辑相关的类组织在一起,并能够控制位于内部的类的可视性。原创 2022-03-04 20:30:00 · 994 阅读 · 42 评论 -
【JavaSE系列】Java中的泛型与通配符
本篇文章带大家认识Java语法——泛型与通配符,泛型和通配符是一个非常抽象的概念,简单来说,两者都可以将类型作为“参数”进行传递,不过泛型是在你知道传入什么类型的时候使用的,而通配符是你不确定传入什么类型的时候使用,本文将介绍泛型与通配符的使用及两者间的区别。原创 2022-02-28 18:00:00 · 654 阅读 · 21 评论 -
【JavaSE与数据结构】排序算法之堆排序与归并排序
本篇文章带大家认识排序算法——堆排序与归并排序,堆排序在讲解堆和优先队列的时候已经将原理介绍了一点点,并使用优先级队列实现了堆排序,本文将使用建堆和向下调整的方式实现堆排序,每种排序算法都有一个核心,向下调整是堆排序的核心,而归并排序的核心就是合并两个有序的数组,实现代码语言为java。原创 2022-02-26 12:06:30 · 1185 阅读 · 50 评论 -
【JavaSE与数据结构】排序算法之快速排序
本篇文章带大家认识排序算法——快速排序,从名字上就能看出来,因为它比较快,所以叫做快速排序,它也是一种基于比较的排序算法,本文将以图解动图的形式解读快速排序,代码实现语言为java。原创 2022-02-24 12:00:32 · 923 阅读 · 47 评论 -
【JavaSE与数据结构】排序算法之冒泡排序,选择排序,插入排序与希尔排序
本篇文章带大家认识排序算法——冒泡排序,选择排序,插入排序与希尔排序,其中冒泡排序,选择排序,插入排序是基础的排序算法,希尔排序是插入排序的优化,四种排序算法全部都是基于比较的排序算法,本文将以图解动图的方式描述算法实现过程,实现代码为java。原创 2022-02-21 23:08:58 · 1224 阅读 · 35 评论 -
【JavaSE与数据结构】堆,优先级队列,topK问题与堆排序
本篇文章带大家认识数据结构——堆,所谓的堆,其实就是使用顺序表实现的树,前面所介绍的二叉树是基于链式结构所实现的,本文将介绍底层为顺序表的二叉树,由于使用顺序表实现非完全二叉树会存在内存空间浪费问题,所以常常使用顺序表实现完全二叉树,而这个使用顺序表所实现的完全二叉树就是堆。原创 2022-02-14 19:32:03 · 914 阅读 · 32 评论 -
【JavaSE与数据结构】数据结构与算法之二叉树(实践篇)
本篇文章带大家认识数据结构——二叉树,树是一种非线性的数据结构,它是由有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。本文将从通过20多道二叉树力扣牛客题介绍二叉树的基本操作,创建以及应用,所以学习完本文,除了能够增加对二叉树结构的了解,还能掌握20多道在线编程题,如果对二叉树基本概念特点性质不清楚的请阅读博主的历史博文:树与二叉树(理论篇)。全文大约2.6w字,建议收藏哦!原创 2022-01-28 20:00:35 · 1298 阅读 · 33 评论 -
【JavaSE与数据结构】数据结构与算法之树与二叉树(理论篇)
本篇文章带大家认识数据结构——树与二叉树,树是一种非线性的数据结构,它是由有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。本文将从理论的角度介绍树与二叉树的概念特点与性质,为后续树的实践打下理论基础。原创 2022-01-24 21:52:11 · 1003 阅读 · 22 评论 -
【JavaSE与数据结构】队列,Queue,Deque接口与LinkedList类
本篇文章带大家认识Java集合——Queue,LinkedList,Queue就是队列的意思,是一种数据结构,又叫先进先出表,本文首先会介绍数据结构《队列》,了解清楚队列的特点与性质,双端队列,循环队列,然后会根据队列的性质简单来模拟队列最后介绍集合框架Queue,Deque接口,LinkedList类常见方法的使用。原创 2022-01-22 21:52:05 · 1793 阅读 · 15 评论 -
【JavaSE与数据结构】栈与Stack类
本篇文章带大家认识Java集合——Stack,Stack就是栈的意思,是一种数据结构,又叫先进后出表,本文首先会介绍数据结构《栈》,了解清楚栈的特点与性质,然后会根据栈的性质简单来模拟栈以及集合框架Stack类常见方法的使用。Tips:数据结构——链表,在博主的历史文章中介绍过并通过Java和C语言都实现模拟过,所以对链表不再多赘述,集合框架中LinkedList类底层就是使用双链表实现的,因此在Java中可以使用LinkedList对象来使用链表,如果对链表不了解,可以去博主数据结构与算法专栏了解。原创 2022-01-20 22:52:19 · 1452 阅读 · 24 评论 -
【JavaSE系列】Java集合框架之包装类,ArrayList与迭代器
本篇文章带大家认识Java集合——ArrayList,在Java中ArrayList就是顺序表,底层是利用数组实现的,在博主历史文章中已经对顺序表进行了模拟实现,所以本篇文章会以ArrayList的简单模拟实现引出泛型和包装类,为后续泛型开一个小头,除此之外还会介绍Java中ArrayList类,以及迭代器。原创 2022-01-18 14:51:17 · 734 阅读 · 19 评论 -
【JavaSE系列】Java集合框架之Collection,Map接口
本篇文章带大家认识Java基础知识——集合框架,从本篇文章开始正式拉开数据结构的序幕,要深入了解一件事,那必然先得见个面,本文带大家认识Java集合框长什么样,以及怎么使用Collection和Map接口。原创 2022-01-16 14:28:13 · 1489 阅读 · 19 评论 -
【JavaSE系列】趁着跨年的时间,学会了Java中常用的比较器和克隆接口
本篇文章带大家认识Java常用的接口——Comparable,Comparator,Cloneable接口,其中Comparable,Comparator接口是比较器,可以用来对对象进行排序,Cloneable接口是克隆接口,用来生成一个对象的副本。原创 2022-01-02 23:48:42 · 1718 阅读 · 34 评论 -
【JavaSE系列】Java异常处理机制
本篇文章带大家认识Java基础知识——异常,在理想的情况下,用户输入的数据格式永远是正确的,一个程序也许可能永远没有bug,但是在实际情况当中,这种理想的情况非常少,用户输入数据格式出现错误是非常常见的,需要一种机制解决类似的问题,而在Java中引入了异常的概念,本篇博客将围绕什么是异常,异常怎么解决两个维度对异常做一个详细地分析。原创 2021-12-08 00:11:48 · 2346 阅读 · 57 评论 -
【JavaSE系列】Java中的字符串之字符串常用方法与StringBuilder
本篇文章带大家认识Java基础知识——字符串类,在前面我们已经知道如何在Java中定义字符串和字符串常量池,本文将介绍Java字符串中的常用的方法以及StringBuilder。原创 2021-12-03 16:59:18 · 1896 阅读 · 24 评论 -
【JavaSE系列】Java中的字符串之字符串常量池
本篇文章带大家认识Java基础知识——字符串类,在前面我们已经知道如何在Java中定义字符串,本文将介绍Java字符串中的字符串常量池,探究字符串相等问题。原创 2021-12-01 22:02:17 · 1932 阅读 · 27 评论 -
数据结构与算法之双链表
本篇文章带大家认识数据结构与算法之双链表,链表是一种在逻辑结构连续,物理结构不连续的数据结构,可以分为单链表与双链表两类,正文将介绍双链表的增删查改,对于链表的概念已经在《数据结构与算法之单链表》一文中已经介绍过了,所以本文对于链表理论概念方面不再赘述,上次实现了不带头结点的单链表,这次就介绍一个带头的双链表吧!描述代码:Java。原创 2021-11-26 21:52:07 · 1412 阅读 · 26 评论 -
【JavaSE系列】Java面向对象之组合多态与接口
本篇文章带大家认识Java基础知识——组合,多态与接口,小伙伴们,好久不见,上篇博文《包与继承》留给读者的题选A。这篇文章将会详细介绍多态与接口,上次介绍的继承是阅读本文的基础,先来复盘一下继承吧,继承就相当于多张图纸实例一个对象,我们不妨将图纸分为两类,一类具有共性,另一类具有特性,则具有共性的图纸(类)称为父类(基类,超类),具有特性的图纸(类)称为子类,两者的关系是子类继承父类。原创 2021-11-23 22:53:44 · 1797 阅读 · 50 评论 -
【JavaSE系列】Java面向对象之包与继承
本篇文章带大家认识Java基础知识——包与继承,在Java当中一切皆可视为对象,而对象是由类所实例化出来的,将类组织起来那就是一个包,类与类之间是可以存在关联的,例如猫,狗,鸟等动物存在相同的行为或特征,我们把这些相同的行为与特征都集中起来构建成一个新的类,则猫,狗,鸟等动物都继承了该类。原创 2021-11-20 23:54:43 · 1828 阅读 · 36 评论 -
数据结构与算法之单链表
本篇文章带大家认识数据结构与算法之单链表,链表是一种在逻辑结构连续,物理结构不连续的数据结构,可以分为单链表与双链表两类,正文将介绍单链表的增删查改,双链表在后续博文中详细介绍。描述代码:Java。原创 2021-11-16 13:05:11 · 692 阅读 · 26 评论 -
数据结构与算法之顺序表
本篇文章带大家认识数据结构与算法基础,顺序表(动态),所谓的顺序表本质就是数组,它的特点是物理结构与逻辑结构都是连续的,最大的优点就是能够随机访问,最大的缺点是空间有限,就算扩容,也有可能存在大量的内存浪费。描述代码:Java。原创 2021-11-10 22:23:34 · 6539 阅读 · 16 评论 -
数据结构与算法之时间复杂度与空间复杂度
本篇文章带大家认识数据结构与算法基础,时间复杂度与空间复杂度。算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量个算法所需要的额外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。描述代码:Java。原创 2021-11-06 23:37:31 · 1708 阅读 · 19 评论 -
【JavaSE系列】Java类与对象,万物皆对象
本篇文章带大家认识Java类与对象,我相信大家都听说过面向对象编程,Java正是一种面向对象编程的语言,与C语言不同,C语言是一门面向过程的编程语言。对面向对象与面向过程的区别,我们可以这样理解,面向对象,对象指的是一个事物,是名词性的,面向过程,过程指的是做事情,是动词性的,比如你要把一物品放进冰箱,面向过程是打开冰箱门->放入冰箱->关闭冰箱;面向对象是物品->冰箱。类与对象本身就是非常抽象的概念,需要多认识多实践,下面就开始正文,带你了解Java中的类与对象。原创 2021-11-03 16:47:10 · 2620 阅读 · 63 评论 -
【JavaSE系列】批量处理数据神器——Java数组与引用
本篇文章带大家认识Java数组使用以及引用,我们都知道数组中的元素类型都是相同的,这使它具有强大的相同数据类型处理能力,由此可知它有多么的重要。Java使用数组与C语言还是存在差别的,从数组定义方式就能看出来,让我们来一探究竟吧。原创 2021-10-30 10:10:04 · 1471 阅读 · 32 评论 -
【JavaSE系列】Java程序的封装——Java方法重载及递归
⭐️前面的话⭐️本篇文章带大家认识Java方法,介绍Java方法之前我提一下函数,在数学中我相信大家一定都认识什么是函数,比如正反比例函数,二次函数,幂函数,指数函数,三角函数等等。原创 2021-10-23 13:23:53 · 964 阅读 · 20 评论 -
【JavaSE系列】Java程序的选择与轮回——分支结构与循环结构
⭐️前面的话⭐️本篇文章带大家认识Java程序逻辑控制结构,再复杂的程序都是离不开逻辑控制。本文章除了Java程序的输入,分支结构与循环结构与C语言差不多,只是Java中判断表达式的值必须是boolean类型。不过Java中没有goto,目前仅仅作为保留字。参考博主历史博文(非常详细):C语言中的选择与轮回,选择结构与循环结构原创 2021-10-20 13:21:55 · 753 阅读 · 18 评论 -
【JavaSE系列】Java程序设计基础——数据类型变量与运算符
⭐️前面的话⭐️大家好!这是一个新的系列专栏,本专栏会介绍JavaSE及其应用,Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。本篇文章带大家认识Java最基本的数据类型与运算符,能够熟练地应用数据类型和运算符解决各类问题。原创 2021-10-13 18:25:10 · 764 阅读 · 37 评论 -
【JavaSE系列】世界上“最好的语言”——认识Java编程语言
⭐️前面的话⭐️大家好!这是一个新的系列专栏,本专栏会介绍JavaSE及其应用,Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。本篇文章带大家认识Java,知道Java是什么,顺便了解下“世界上最好的语言”。原创 2021-10-10 21:04:17 · 1641 阅读 · 33 评论