- 博客(18)
- 收藏
- 关注
原创 JavaDataStructure--优先级队列(堆)
我们通过看底层的原码,可以看到,不带参数的构造方法,带一个初始容量的构造方法,带一个比较器的构造方法,最终都调用了一个带两个参数的构造方法这样我们就可以将优先级队列改成大根堆了。
2025-12-30 18:21:26
632
原创 JavaDataStructure--二叉树
树是一种的数据结构,它是由n(n>=0)个有限节点组成一个具有层次关系的集合。子树和子树之间是不能相交的除了根节点外,每个节点有且只有一个父节点一棵N个节点的树有N-1条边,例如上面这个图,九个节点,八条边。
2025-12-25 13:15:04
527
原创 Java--双向链表
首先我们要明白,双向链表的每一个节点都包含一个数据域和两个指针域,一个指针域为前指针域,表示指向当前节点的前一个节点,一个指针域为后指针域,表示指向当前节点的后一个节点,所以每一个节点都是一个完整的对象,所以我们可以通过定义一个内部类。所以我们在进行删除其他节点的时候,我们要进行判断,判断是否是尾节点,如果不是尾节点,我们可以正常删除,如果是尾节点,则我们可以直接对tail进行处理。我们要先进行判断,判断是不是头节点,如果是头节点,那么我们让头节点指向头节点的下一个节点。
2025-12-16 19:35:11
691
原创 JavaDataStructure---顺序表
Override//首先判断是否满了//如果满了要进行扩容grow();//往里放数据在新增元素的过程中,我们要首先判断,数组容量是否满了,即isFull()方法,如果满了,则需要进行扩容当数组里放的元素数量和数组的长度相等的时候,这时候表示数组已经满了,则需要扩容扩容的做法就是将原来的数组的长度,扩成2倍,也就是说是2倍扩容。
2025-12-15 10:45:00
628
原创 JavaDataStructure预备知识
5.包装类1.泛型是将数据类型参数化,进行传递2.使用<T>表示当前类是一个泛型类3.目前的优点:数据类型参数化,编译时自动进行类型检查和转换。
2025-12-14 16:40:26
936
原创 LeetCode---环形链表 II
首先要解决这个题,我们先要明白我们要考虑的情况如果链表没有环,则直接返回null如果有环,那我们也要考虑两种情况。
2025-12-10 14:25:17
329
原创 Java---异常
既然Java给我们提供那么多写好的异常,我们也可以模仿着Java给的异常来自己写一个异常我们可以手写一个异常,来判断用户名和密码的正确错误问题创建首先自定义一个异常类,然后继承于Exception或者RuntimeException实现一个带有一个参数的构造方法,用于返回异常的原因if (!throw new PasswordException("密码错误");}else{throw new UserNameException("用户名错误");try {
2025-12-04 11:12:00
846
原创 Java---String
前言Java中的String类型为字符串类型,学过C语言的各位老铁都知道,C语言中没有String类型,通常使用'\0'作为字符串结束的标志,Java当中没有字符串结尾是'\0'这样的说法。
2025-12-03 11:42:52
651
原创 Java三个接口,Comparable,Comparator,Cloneable(深拷贝、浅拷贝)
缺点:通过上面的按年龄排序和按姓名排序来看,我们都是修改compareTo方法@Override//按照姓名比较@Override//按照年龄比较也就是说,我们把compareTo这个方法给写死了,compareTo不支持重载,它只能进行一种数值的比较,不能进行多种数据的比较。结论:只要是自定义的类型涉及到了大小的比较,目前的结论是:一定要实现Comparable接口那么如何进行多种数据的比较?使用Comparator接口(二).Comparator接口。
2025-12-02 14:49:57
681
原创 Java--抽象类和接口
通过上面的代码可以看出,eat是一个抽象类,没有具体的实现,所以我们可以初步推断,接口和抽象类相类似当我的类Rect类实现了IOShape接口后,我不想实现draw方法,然后我将Rect类用abstract修饰,使它成为了一个抽象类在Cycle中,我继承了Rect这个类,会发现程序报错,那么应该如何解决?只能实现所有的没有被实现的方法通过图片中的代码可以看出,当我实现了所有的方法后,程序不再报错了。
2025-12-01 16:25:00
646
原创 Java---继承
通过图片中的代码和运行结果可以看出,虽然子类和父类都有func1,但是子类去调用的时候,调用的是子类的func1,但是当子类调用func2的时候,程序输出的结果是父类的成员方法func2。通过程序的运行结果我们可以看出,先调用的父类的静态代码块,然后调用的子类的静态代码块,再调用父类的实例代码块和构造代码块,最后调用了子类的实例代码块和构造代码块。前面,我们说,当子类访问子类和父类重名的成员变量时,我们访问的是子类的成员变量,那么我问题来了,我如果想要访问父类的重名成员变量应该如何访问?
2025-11-28 10:00:00
811
原创 我的编程之路
大家好,我是房师伟,来自山东青岛。海风与啤酒塑造了这座城市的烟火气,也让我对技术世界有着一份执着的向往。今天是我在技术博客的第一篇文章,想和大家聊聊我的编程征途。
2025-11-07 14:16:39
381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅