
JAVA知识点专栏
文章平均质量分 90
里面是关于javase和java数据结构的知识点
E绵绵
要自律 要chin up
展开
-
【Java数据结构】泛型的进阶部分(泛型通配符)
上界通配符extends T>:T 代表了类型参数的上界,extends T>表示类型参数的范围是 T 和 T 的子类。需要注意的是:extends T>也是一个数据类型实参,它和 Number、String、Integer 一样都是一种实际的数据类型。下面给个例子:// 编译错误ArrayList原创 2024-09-10 13:47:51 · 918 阅读 · 1 评论 -
【Java数据结构】反射、枚举以及lambda表达式
Java反射是Java语言的一种特性,它允许程序在运行时自我检查并对内部成员进行操作。这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。具体来说,反射机制允许在运行状态中对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,并且能改变它的属性。Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。其本质是JVM得到Class对象之后,再通过Class对象进行反编译,从而获取对象的各种信息。原创 2024-09-07 02:20:26 · 1121 阅读 · 0 评论 -
【Java数据结构】Map和Set超详细两万字讲解(内含搜索树+哈希表)
所以我们的Map和Set就讲解完了,下篇文章将会讲解反射、枚举以及lambda表达式。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!大家一起加油!原创 2024-08-06 00:51:36 · 3789 阅读 · 123 评论 -
【Java数据结构】七大排序+计数排序+基数排序+桶排序 超详细万字讲解
所以这里我们的排序篇章就讲完了,下篇文章将会给大家带来Map和Set的讲解。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-07-20 23:43:45 · 2579 阅读 · 196 评论 -
【Java数据结构】优先级队列详解(二)
所以这篇文章我们就把堆(priorityqueue)的使用讲述清楚了,堆也就此完结了,花了两篇文章去讲解。之后将给大家带来排序的讲解。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-13 21:09:49 · 1084 阅读 · 14 评论 -
【Java数据结构】优先级队列详解(一)
所以这篇文章我们就把堆的概念讲清楚了,并且模拟出来了堆,下篇文章将会正式使用priorityQueue。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-13 21:09:41 · 856 阅读 · 3 评论 -
【Java数据结构】二叉树详解(二)
所以这篇文章结束后,我们的二叉树的知识点就全讲解完了,下篇文章将会给大家带来二叉树的习题讲解。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-05 11:45:18 · 755 阅读 · 5 评论 -
【Java数据结构】二叉树详解(一)
所以这篇文章我们就把树的概念讲完了,还把其中的一种类型:二叉树给讲解了部分,下篇文章将会给大家模拟实现二叉树的基本方法。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-05 11:44:55 · 1098 阅读 · 0 评论 -
【Java数据结构】详解Stack与Queue(三)
当我们使用顺序表实现队列时,会存在一个问题:虽然顺序表实现的队列可以自动扩容,但其空间利用不充分:因为每次出队都会浪费一个空间,为了解决这个问题,我们可以采用循环队列。循环队列是一个特殊的队列:其底层还是数组,但不能实现自动扩容。入队时能够重新从数组的尾部跳到数组头部对已经出队的空间重新利用,这样就能够保证数组的每一个空间都可以被利用。所以这篇文章我们就把队列的概念讲完了,下篇文章将带来队列和栈的习题练习。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-04 10:02:01 · 868 阅读 · 3 评论 -
【Java数据结构】详解Stack与Queue(一)
所以这篇文章我们就把栈的概念全部讲完啦!下篇文章将讲述栈的应用场景。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-03 13:21:12 · 1163 阅读 · 4 评论 -
【Java数据结构】详解LinkedList与链表(四)
LinkedList的底层是无头双向非循环链表结构,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。这里我们重点讲两个方法:一个是addAll方法,另一个是subList方法。其他方法都很简单,没必要讲。所以我们的链表篇章现在就正式结束啦!下篇将给大家带来栈和队列的介绍。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-02 12:50:27 · 810 阅读 · 14 评论 -
【Java数据结构】详解LinkedList与链表(三)
这篇文章我们就将无头双向非循环链表的模拟讲清楚了,它跟无头单向非循环链表的模拟很相似,但还是有一点区别的。我们下篇文章将给大家带来LinkedList的使用。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-02 12:49:42 · 510 阅读 · 2 评论 -
【Java数据结构】详解LinkedList与链表(一)
所以,我们在本文中详细讲述了链表的概念和结构,并成功模拟了无头非循环单链表的实现。在下篇文章中,我们将带来一些关于单链表的面试题。让我们共同学习,共同进步,为知识的海洋增添更多宝贵的财富!原创 2024-06-01 10:19:24 · 1035 阅读 · 3 评论 -
【Java数据结构】深入解析ArrayList与顺序表(二)
1. ArrayList是以泛型方式实现的,所以使用时必须要先实例化2. ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问3. ArrayList实现了Cloneable接口,表明ArrayList是可以clone的4. ArrayList实现了Serializable接口,表明ArrayList是支持序列化的。原创 2024-04-23 11:22:06 · 4972 阅读 · 167 评论 -
【Java数据结构】初步认识ArrayList与顺序表(一)
所以这就是我们的顺序表第一部分内容,我们在这主要对顺序表进行了模拟,使我们在之后的学习中能更加理解顺序表的源码,学习其源码思想。在之后的顺序表第二部分我们将给大家介绍真正的顺序表ArrayList,敬请期待!原创 2024-04-22 19:32:32 · 1908 阅读 · 130 评论 -
【Java数据结构】深入探索List:有序、可变与高效的集合
❤️❤️由集合框架可以看出,List是一个接口,继承自Collection,而Collection继承自Iterable。Collection同理也是一个接口,该接口中规范了后序容器中常用的一些方法,具体如下:Iterable也是一个接口,表示实现该接口的类是可以逐个元素进行遍历的(可以用该接口去实现遍历)我们可以看一下集合框架图,这样就更清楚了一些。❤️❤️对于其中出现的E指的是泛型中的类型参数:我们集合框架中的类和接口以及抽象类都运用到了泛型。原创 2024-04-21 22:13:04 · 963 阅读 · 109 评论 -
【java数据结构】泛型的初步认识(2)
在Java中,类型擦除是指在编译时期对泛型类型进行擦除,将泛型类型转换为原始类型。(原始类型大部分情况下都是Object类)❤️❤️换而言之,泛型信息只存在于代码编译阶段,在代码编译结束后,与泛型相关的信息会被擦除掉替换为原始类型,专业术语叫做类型擦除。也就是说,成功编译过后的 class 文件中不包含任何泛型信息,泛型信息不会进入到运行时阶段。这样做的目的是为了保持与旧版本的Java代码的兼容性。// true。原创 2024-04-20 09:21:08 · 2505 阅读 · 150 评论 -
【java数据结构】泛型的初步认识(1)
泛型的标志通常使用尖括号“”来表示,尖括号中可以包含一个或多个 类型参数或类型形参。泛型类型形参一般使用一个大写字母表示,常用的名称有:T E K V .泛型类型参数只能是引用类型,不能是基本类型。如果需要使用基本类型,可以使用对应的包装类如Integer,Double。通俗讲就是内部只能时引用类型。原创 2024-04-19 17:11:12 · 2063 阅读 · 79 评论 -
【java数据结构】时间和空间复杂度
所以到这里我们的时间复杂度和空间复杂度就结束啦!希望大家认真看完,好好消化吸收。原创 2024-04-16 12:10:58 · 2226 阅读 · 128 评论 -
【java数据结构】包装类的认识
❤️❤️在Java中,由于基本类型不是继承自Object(基本类型不是类,所以不继承),为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。原创 2024-04-17 18:07:34 · 1990 阅读 · 107 评论 -
【java数据结构】初识集合框架
❤️❤️Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes。有几个典型的集合框架:Collection接口:是集合框架的根接口,定义了一组通用的方法,用于操作集合中的元素。它有两个主要的子接口:List和Set。List接口:继承自Collection接口,表示一个有序的集合,允许重复元素。原创 2024-04-15 16:44:56 · 1374 阅读 · 104 评论 -
【javaSE】认识异常(2)
Java 中虽然已经内置了丰富的异常类, 但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我们实际情况的异常结构。我们就需要自定义异常类。自定义异常类需要继承自Exception 或者 RunTimeException ,并且实现一个带有String类型参数的构造方法。其内部参数message含义:出现异常的原因。在该程序因为该异常终止并打印异常信息时会一并将message打印出来。这就是自定义异常类内部的默认格式,就只有一个构造方法,这里的内容不能多加也不能少加。原创 2024-04-14 13:01:11 · 2813 阅读 · 102 评论 -
【javaSE】认识异常(1)
这篇文章已经有很多知识点了,够铁汁们消化了,到这里就先结束吧,下篇文章我们就带来异常处理的五个关键字的讲解以及一些其他知识点。原创 2024-04-13 20:00:00 · 2438 阅读 · 102 评论 -
【javaSE】String类(2)
字符串最后一个单词的长度_牛客题霸_牛客网// 循环输入// 获取一行单词// 1. 找到最后一个空格// 2. 获取最后一个单词:从最后一个空格+1位置开始,一直截取到末尾// 3. 打印最后一个单词长度所以我们讲的String类就完结啦,现在我们讲的主要还是如何去使用String类,等到数据结构时我们还会提及String讲其更深层的内容.原创 2024-04-12 18:18:14 · 2565 阅读 · 107 评论 -
【javaSE】String类(1)
好的铁汁们,所以我们的String类(1)就讲完了,之后将在String(2)中介绍如何修改字符串。原创 2024-04-11 09:55:28 · 3283 阅读 · 128 评论 -
【javaSE】图书管理系统
2024_4_6/src · Eason绵绵/JAVASE代码仓库 - 码云 - 开源中国 (gitee.com)❤️❤️~🥳🎉🎉🎉。原创 2024-04-07 20:37:49 · 3799 阅读 · 124 评论 -
【javaSE】内部类(来自类和对象的补充)
所以我们内部类就结束啦,内部类结束我们的类与对象才算真正的结束。之后将给大家把之前学的知识点总结起来写一个小项目。原创 2024-04-04 16:42:29 · 3469 阅读 · 80 评论 -
【javaSE】抽象类与接口(3)(接口部分)
所以这就是我们的抽象类与接口的最后一章,里面涉及的知识点过多,还请大家认真多看几遍,好好消化。一起加油吧!原创 2024-04-04 08:41:16 · 2159 阅读 · 69 评论 -
【javaSE】抽象类和接口(2)(接口部分)
接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。在Java中,接口可以看成是:多个类的公共规范,它是一种引用数据类型。原创 2024-04-01 11:59:15 · 1936 阅读 · 96 评论 -
【javaSE】抽象类和接口(1)(抽象类部分)
如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类.像这种没有实际工作的方法, 我们可以把它设计成一个 抽象方法(abstract method), 包含抽象方法的类我们称为 抽象类(abstract class)注意:抽象类可以不含有抽象方法,但含抽象方法的类必须为抽象类。原创 2024-03-27 16:36:21 · 721 阅读 · 51 评论 -
继承和多态(2)(多态部分)
当父类引用所引用的子类对象不一样时。调用重写的方法,所表现出来的行为是不一样的,我们把这种思想叫做多态。其中上面所说的可能大家会觉得有点抽象,所以且听我慢慢道来,大家就懂了。多态的基础是动态绑定,所以要了解多态前提我们还要了解动态绑定。了解动态绑定的前提1.要发生向上转型2.有发生重写(子类和父类有同名的方法)3.使用父类对象的引用去调用重写方法完成了这三部分,就会发生动态绑定。从而用该父类对象的引用调用子类和父类都有的方法时调用的是子类方法,而不是正常来说的父类方法。原创 2024-03-25 16:23:29 · 739 阅读 · 18 评论 -
继承和多态(1)(继承部分)
上文就是继承的概念。必须记住父类也可以称为基类,超类。 子类也可以称为派生类。在Java中如果要表示类之间的继承关系,需要借助extends关键字,具体如下:注意: 1. 子类会将父类中的成员变量或者成员方法继承到子类中了2. 子类继承父类之后,必须要新添加自己特有的成员,体现出与基类的不同,否则就没有必要继承了 在子类方法中或者通过子类对象访问成员变量时:如果访问的成员变量子类本身就有(不带继承的父类,是自己本身),优先访问子类自己本身的成员变量。如果访问的成员变量子类中无,则访问父类继承下来的。原创 2024-03-23 16:20:34 · 856 阅读 · 11 评论 -
Java中的可变参数
它有个缺点就是在匿名操作完后 ,其所分配的内存就会直接销毁(没引用指向所以会直接销毁),不能再被使用了)(这种没将其创建的内存分配给数组变量再去使用,而是直接分配好内存就直接使用的就被称为匿名操作。一种是最正常的,实参为数组名。可变参数本质为数组。原创 2024-03-20 20:30:17 · 360 阅读 · 4 评论 -
类和对象(3)
如果一个类中包含多个构造代码块,在编译代码时,编译器会按照定义的先后次序依次执行(合并)原创 2024-03-18 17:12:41 · 1053 阅读 · 3 评论 -
类和对象(2)
在文件的最上方加上一个 package 语句指定该代码在哪个包中.包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 ).包名要和代码路径相匹配. 例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/bit/demo1 来存储 代码.如果一个类没有 package 语句, 则该类被放到一个默认包中.下面是操作步骤。原创 2024-03-17 16:52:02 · 942 阅读 · 4 评论 -
类和对象(1)
在java中定义类时需要用到class关键字,具体语法如下// 创建类field;//成员变量 :成员变量可以不赋值,不赋值时它的默认值为基础值。method;// 成员方法class为定义类的关键字,ClassName为类的名字,{}中为类的主体。// 品牌// 型号// 重量// 长// 宽// 高// 颜色public void washClothes(){ // 洗衣服System.out.println("洗衣功能");原创 2024-03-17 13:55:20 · 1118 阅读 · 1 评论 -
java中数组的定义与使用
sort对数组是进行升序排列,sort并不能对数组进行降序排列 (如果要实现降序可以先用sort进行升序排列,再将数组逆序)原创 2024-03-12 09:21:46 · 1140 阅读 · 5 评论 -
方法的使用
方法跟函数是几乎一样的。所以语法是大差不差的。就多了一点东西。之前我们在c语言里已经很详细讲过了函数。这里就简便的讲一下。相比c语言函数多了个修饰符。1. 修饰符:现阶段直接使用public static 固定搭配2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void。而且返回一个值所有情况都要考虑,否则会报错。3. 方法名字:采用小驼峰命名4. 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开。原创 2024-03-09 20:56:00 · 995 阅读 · 1 评论 -
java中程序逻辑控制
在java中,它跟c语言一样,for循环的第一个语句同样可以创建变量,并且能创建多个变量,但切记它们这些必须为同一个类型,也就是在第一个语句中只能出现一种数据类型去创建变量,不能出现第二种数据类型去创建变量。原创 2024-03-06 18:30:26 · 948 阅读 · 0 评论 -
java的运算符
记住在java中,true和false 跟整形是没关系的不能互相转化,所以连着写时得出来的true或者false不能和整形比较,就会发生错误导致编译失败。% 不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模的。(c语言中%只能作用于整数)不能作用于整形,只能作用于boolean。(这在c语言中行得通在java中行不通)所以增量运算符为了赋值成功能实现正常条件下实现不到的隐式转换(类型大转换为类型小)这是在java中会输出10,而在C语言中(vs系统)会输出11,原创 2024-03-03 12:57:56 · 448 阅读 · 1 评论