自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(210)
  • 收藏
  • 关注

原创 每日一题:不修改数组找出重复的数字

抽屉原理: 如果把十个苹果放到九个抽屉就会多出一个,这一个再放进去就会出现某抽屉至少放2个。利用这个原理,对区间进行划分,算左区间有多少个苹果,苹果数是否大于抽屉数,右区间收缩,不断如此。

2025-06-15 13:19:47 158

原创 拒绝访问怎么办?文件输入流

2025-05-21 11:10:19 141 1

原创 javaSE.Collections工具类

Collections.max->求list最大值,但是要Integer这样的可比较的。equals类的String类比较重写了equals方法,比较的是值相等。值相同,对象不同(引用不同)的hash👇。JDK为我们准备的专用于集合的工具类。没有重写哈希和equals👇。这跟集合的底层封装有关。👇这是通过向导一键生成的。

2025-05-21 09:15:08 132

原创 javaSE.Stream流

流相当于流水线,进入流水线stream() 开始一系列加工,最后返回.collect(Collectors.to-----)注意,不能认为collect 前面的语句是依次执行,它只是设定程序。最后一步进行加工处理得到产品。通过stream可以完成所有数字的求和👇。快速处理字符串,不需要一个个遍历来搞👇。生成统计实例进行快速统计。

2025-05-20 07:45:06 98

原创 javaSE.Map

entrySet()获取map中所有的键值对的集合,每个键值对是一个entry对象,forEach遍历集合遍历每个entry对象。左边值映射着右边的值,左边相当于钥匙,开到右边的门获取得到信息。Map存储映射关系。第一次,小明覆盖掉null,返回null打印。是否存在该key👇containsKey()维持插入顺序👇LinkedHashMap。第二次,小红覆盖掉小明,返回小明打印。第三次,小刚覆盖掉小红,返回小红打印。HashMap的顺序👇。

2025-05-18 20:09:26 164

原创 javaSE.set集合

LinkedHashSet维持顺序👇。TreeSet在插入时进行排序👇。不支持随机访问,不是按顺序存的👇。

2025-05-15 17:11:55 119

原创 javaSE.Queue&Deque

Deque<E>继承自Queue<E> 继承自Collection<E>继承自Iterator<T>只是保证出队顺序按照优先级,并不是说存储顺序是这样。两端都可以入队出队,既可以实现队列,也可以实现栈。优先队列PriorityQueue👇 →”小根堆“底层是大根堆小根堆实现的,存储也是。Deque当作栈使用👇。queue入队出队👇。

2025-05-15 16:48:30 204

原创 javaSE.迭代器

摆烂一段时间,终于开始继续学了。哎,学东西学一半中断,不坚持下去,会亏很多东西。对于整个人的磁场也是。尽量不要半途而废吧,任何东西都是。得益于literable提供的迭代器生成方法,实际上只要是实现了迭代器接口的类(我们自己写的都行),都可以使用foreach语法。👇forEach及其方法引用。用了之后要重新创建👇。

2025-05-15 16:16:03 161

原创 javaSE.走进集合类

集合表示一组对象,每一个对象我们都可以称其为元素。不同的集合有不同的性质,比如一些允许重复的元素,而另一些集合则不允许,一些集合是有序的,而其他则是无序的。集合类其实就是为了更好地组织、管理和操作我们的数据而存在的,包括列表、集合、队列、映射等数据结构。2.数组可以存放基本数据类型,但集合只能存放对象。1.数组的大小是固定的,集合的大小是可变的。1.他们都是容器,都能容纳一组元素。

2025-04-23 18:19:31 97

原创 javaSE.哈希表

不同对象的hashCode不一样👇。

2025-04-21 19:48:54 135

原创 javaSE.二叉查找树和平衡二叉树

如果是递增的情况👇这样插入就是其实就是一个单链表,查找效率退化了。二叉查找树只有在理想的情况下👇👇,查找效率才是最高的,因为可能会有一边倒👆的情况。4 2 6 1 3 5 7👇这样按顺序插入👇↗74 → 6 → 5↘ 2 →3↘1。

2025-04-21 17:58:51 193

原创 javaSE.二叉树的遍历

👇👇👇根->左->右左根右点三行断电👇点击右上角调试👇点击F9观察控制台和线程👇👇这里是运行的行数,第几行代码的意思👇当前行数变量情况上面断电多加一条if语句👆更清晰。其实就是递归流程以及其中变量情况队列👉javaSE.队列-CSDN博客

2025-04-20 22:17:50 280

原创 javaSE.二叉树

五个结点的完全二叉树👇。

2025-04-20 17:45:57 98

原创 javaSE.队列

链表:屁股入队,头部出队。

2025-04-20 16:26:22 199

原创 javaSE.栈

2025-04-20 16:01:27 98

原创 javaSE.链表

单链表👆删除插入操作需要找前驱结点,双向链表就会多了一个指向前驱,无论在哪个结点都能快速找到前驱。

2025-04-20 12:02:15 125

原创 JavaSE.线性表:顺序表

顺序表类👇插入和删除操作👇👇👇插入👇在57 和 16之间插入 50。

2025-04-20 11:01:35 216

原创 javaSE.判空包装类

对这种可能👆为空的情况处理,如果为空,那么就返回另一种备选方案:👇orElse。map可以将String处理为Integer类型 然后get 获取对象👇。get方法可以获取被包装的对象引用,但是如果为空的话,会抛出异常。使用map来进行映射,将当前类型转换为其他类型,或者是进行处理。判空包装类Optional,这个类可以很有效的处理空指针问题。包装之后,我们再获取时可以优雅地处理为空的情况:👇。Optional类可以更加优雅地处理这种问题👇👇。还可以将包装类型转换为另一种类型👇。

2025-04-19 20:10:58 186

原创 javaSE.四大函数式接口

函数式接口就是JDK1.8专门为我们提供好的用于Lambda表达式的接口,这些接口都可以直接使用Lambada表达式。

2025-04-19 15:54:51 347

原创 javaSE.类型擦除机制

泛型是如何实现的,程序编译之后的样子是什么样的?一个泛型类型编译之后实际上会直接使用默认的类型👇我们给类型变量设定了上界,那么从默认类型变成上界定义的类型👇👇👇编译之后:👇泛型仅仅在编译阶段进行类型检查,当程序在运行时,并不会真的去检查对应类型,所以哪怕我们不去指定类型也可以直接使用👇使用的时原始上界Number👇可以传入Number, 11.1👇若是上界Object👇👇默认为Object👇可传入String👇在指定类型时,编译才会进行检查👇否则就是默认原始类型👆。

2025-04-18 12:55:20 289

原创 javaSE.泛型界限

extends Number, 不能确定是Number的类及其哪个子类,这样子去setValue,无法确定是否是这个类型,虽然他确实是Integer👇👇。也可以创建对象这样设置,上界必须是Integer👇。限定下界就没有上述的问题👆👇👇👇下界的话。上界Number获取的是Number👇。继承自Number类的就符合要求👇。这里是隐式类型转换为Object👇。同理Integer为上界👇👇👇。强转子类Integer👇。Number为上界👇👇👇。快速获取类型var👇。

2025-04-17 19:24:12 180

原创 javaSE.泛型方法

当某个方法(静态方法或者是成员方法)需要接受的参数类型并不确定时,我们也可以使用泛型来表示👇。返回值小于0,说明第一个参数排在第二个参数前面。传入空串,返回空串,字符串类型。在Arrays中的泛型方法👇👇👇。替换成lambda表达式👇。

2025-04-16 20:51:52 120

原创 javaSE.泛型与多态

当子类实现此接口时,我们可以选择在实现类明确泛型类型,或是继续使用此泛型让具体创建的对象来确定类型👇。不只是类,包括接口,抽象类,都是支持泛型的:👇。

2025-04-16 19:49:54 131

原创 javaSE.走进泛型. 泛型类

为了统计学生成绩,要求设计一个Score对象,包括课程名称、课程号、课程成绩,但是成绩分为两种,一种是以优秀、良好、合格来作为结果,还有一种就是60.0,75.5,92.5这样的数字分数,可能高等数学这门课是以数字成绩进行结算,而计算机网络实验这门课是以等级进行结算,这两种分数类型都有可能出现,那么现在改如何去设计这样的一个Score类呢?现在问题就是,成绩可能是String类型,也可能是Integer类型,如何才能很好的去存可能出现的两种类型呢?

2025-04-16 18:59:16 337

原创 javaSE.数组工具类

Arrays.binarySearch 数组中有的元素,并且是有序数组。判断二位数组内容是否一样,Arrays.deepEquals(a,b)判断一位数组内容是否一样, Arrays.equals(a,b)有序数组(从小到大),使用二分搜索快速找到对应元素在哪个位置。打印二位数组,打印出来的是引用,二维数组里边存的是引用。.toString(arr) 打印。核心:二位数组里边存的是引用。

2025-04-16 16:05:43 145

原创 javaSE.数学工具类

生成一个随机数,需要使用Random类来生成(这个类是java.util包下的,需要手动导入)👇。按理说,sinPI = 0;这是精度导致的,所以实际上结果就是0.👇。还有一些比较特殊的计算👇。

2025-04-16 08:43:37 116

原创 javaSE.抛出异常

当程序没有按照我们理想的样子运行而出现异常时(默认会交给jvm来处理,jvm发现任何异常都会立即终止程序运行,并在控制台打印栈追踪信息)现在我们希望能够自己处理出现的问题,让程序运行下去,就需要对异常进行捕获。如果某个方法明确指出会抛出哪些异常,除非抛出的异常是一个运行时异常,否则我们必须要使用try-catch语句块进行异常的捕获,不然无法通过编译。catch中捕获的类型只能时Throwable的子类,也就是说要么是抛出的异常,要么是错误,不能是其他类型。即使出现了异常并未捕获也会执行finally👇。

2025-04-14 18:31:37 224

原创 javaSE.异常机制

可能会有我们没考虑到的情况导致程序出现问题。

2025-04-14 10:29:31 206

原创 javaSE.方法引用

方法引用就是将一个已实现的方法,直接作为接口中抽象方法实现(方法定义一样的前提下)那么使用时候,可以直接使用Lambda表达式。Integer里面有现成的求和。

2025-04-14 09:56:24 231

原创 javaSE.Lambda表达式

如果一个接口中有且只有一个待实现的抽象方法,那么我们可以将匿名内部类简写为Lambda表达式。

2025-04-13 18:56:58 248

原创 javaSE.匿名内部类

局部内部类的简化版。

2025-04-13 12:40:34 170

原创 javaSE.静态内部类续篇

如此,并不会加载外部类。除非,明确使用了外部类。

2025-04-13 11:18:09 105

原创 javaSE.静态内部类和局部内部类

因为是在方法中声明的类,作用范围也只能在方法中。直接在方法中创建局部内部类。

2025-04-13 11:04:02 166

原创 javaSE.成员内部类

成员内部类依附于 对象test(小明)才能创建。成员内部类又有自身创建的对象。属于套娃。

2025-04-01 11:25:07 229

原创 javaSE.字符串

不支持负数。

2025-03-31 12:17:30 203

原创 javaSE.可变长参数

不允许出现多个可变长参数,可变长参数要放最后一个。

2025-03-31 11:10:56 111

原创 javaSE.多维数组

数组类型数组,其实存的是引用。

2025-03-25 23:29:36 245

原创 javaSE.特殊包装类型

其中一种,BigInteger可以等于一个非常大的数字。

2025-03-18 15:43:14 187

原创 javaSE.基本类型包装类

java是面向对象语言,但是java的基本数据类型不是面向对象的,通过包装使得Java能够更好地体现面向对象的思想。其中能够表示数字的基本类型包装类,继承自Number类,

2025-03-18 14:57:19 229

原创 javaSE.枚举类

假设状态:睡觉,跑步,学习,这三种。

2025-03-18 14:18:42 141

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除