- 博客(14)
- 收藏
- 关注
原创 堆以及优先级队列
Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列;前者是线程不安全的,后者是线程安全的;这里主要介绍PriorityQueue.接口之间的继承关系如图PriorityQueue中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出ClassCastException异常没有容量限制,可以插入任意多个元素,其内部可以自我扩容插入和删除元素的时间复杂度为O(logn)使用的是堆数据结构。
2026-03-01 20:57:38
751
原创 栈和队列的简单介绍
循环队列,顾名思义,循环队列就是形成一个圈,但是并不是简单的首尾相接,但是,在实际使用中,我们往往在首尾之间会空下一个格,当。如果说做一个比喻:栈是描述叠盘子的规则,虚拟机栈是放盘子的架子,栈帧是每一个盘子。,队列入队列出队列时先进先出,插入操作的一端是。栈帧:是虚拟栈的每一个元素或者是一个方法调用。栈:只是一种数据结构,是描述某种东西的概念。在队列的使用过程中,实际上是链式结构更好;,进行数据插入和删除的一端称为。实现队列,我们需要使用接口。栈是一种特殊的线性表,,底层是通过链表实现的。
2026-02-20 22:38:41
625
原创 顺序表和链表
线性表就是有n个相同特性的数据元素的有限序列:顺序表链表栈队列… …顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,我们一般用数组进行顺序表的增删查改要在代码中实现顺序表,我们需要先了解List接口:如图所示,List继承自Collection接口,Collection接口又继承自Iterable接口创建对象时,需要使用ArrayList类,List是ArrayList在实际使用过程中发现顺序表处理需要频繁插入删除的操作不方便,我们就使用链表。
2026-02-09 23:43:25
697
原创 包装类&简单认识泛型
所以,泛型的主要目的:就是指定当前的容器,要持有什么类型的对象。是可以进行判断的,因为包装类创建新对象时不是真的创建了一个新对象,而是在包装类中,已经有缓存一定范围的值,如果说新建对象的值恰好在这个范围内,就把缓存的这个对象的地址赋给新建对象,这样就可以用。在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。我们可能会认为即使值相同,输出的结果也不相同,但是,实际上,泛型,从字面意思来看,就是适用于很多的类型,那么它究竟是什么呢?
2025-09-21 19:47:33
838
原创 Java中异常及其处理
自定义异常类,然后继承自Exception 或者 RunTimeException实现一个带有String类型参数的构造方法,参数含义:出现异常的原因自定义异常通常会继承自Exception或是RunTimeException继承自Exception的异常通常是受查异常(必须被处理的异常)继承自RunTimeException的异常通常是非受查异常文章如有明显错误欢迎大家指正.
2025-09-20 20:35:58
1549
原创 抽象类和接口(Java)
由图可以知道,在浅拷贝中,拷贝仅仅实现了对象的拷贝,然而,在拷贝了以后,该新对象的成员变量的地址与原先仍然一样,达不到彻底拷贝的目的,于是,我们需要对拷贝方法进行重写:将所需成员变量也进行拷贝,使得原先对象和拷贝对象彻底分开,达到真正拷贝的效果。看到这里,有没有发现一个问题,接口和抽象类好像啊,事实也是的确如此,我们暂时可以把接口看成一个抽象类,更精确地说是可以多继承的抽象类,里面的方法也是抽象方法,“子类”也是需要重写所有方法的,这就是我们对接口的初步认识。会发现,在前面很多的一大段代码中,我们是在给。
2025-09-17 20:47:26
1615
原创 Java继承&多态
这段代码通过在子类对父类的方法进行了重写,达到了根据对象的不同产生不同输出的效果,实现了多态(在子类重写时候,只要把原方法改成自己想要的结果,就能在调用时实现多态,这样的结果与前面讲解的各类代码块执行的顺序有关)如果出现继承时,子类是如何构造的呢,在子类构造时,需要先执行父类的构造方法,再执行子类的构造方法,这是因为子类对象成员由两部分组成,一部分是父类继承下来的,一部分是子类自己的。也称为后期绑定(晚绑定),即在编译时,不能确定方法的行为,需要等到程序运行时,才能够确定具体调用那个类的方法。
2025-09-14 19:43:32
948
原创 Java类、对象、封装的介绍
介绍类和对象之前,先了解一下面向对象这个概念,Java与C语言最大的不同就是Java是面向对象的语言,而C语言是面向过程的语言;就比方说我们看书学习,要先拿出书来,打开书,用笔做一些必要的标注学习。C语言都就更强调学习的这个过程,然而Java更强调对象,比如“人”“笔”“书”这几种对象,通过这个例子,我们应该能理解了面向对象和面向过程的区别了,接下来,我们将开始具体介绍类和对象。类作为一个新概念,我们要理解它,先从字面意思看,类,是类型,这里的类型如何理解?
2025-09-13 20:07:48
854
原创 方法的使用
修饰符 返回值类型 方法名称 ([参数类型] 形参···){方法体代码;[return 返回值];仔细观察结构,我们会发现,几乎和C语言的函数是一模一样的,所以,实际上Java中的方法和C语言的函数可以认为是一种东西。
2025-09-10 21:15:38
903
原创 JAVA数据类型&运算符&逻辑控制
Java的数据类型总共有8种,具体如下:charboolean引用数据类型:数组/类/接口string数据类型关键字内存占用取值范围整型int4字节−231-2^{31}−231231−12^{31}-1231−1短整型short2字节−215-2^{15}−215215−1~2^{15}-1215−1字节型byte1字节−27-2^7−2727−12^7-127−1长整型long8字节−263。
2025-09-10 19:06:05
605
1
原创 初识JAVA
Java源代码(.java文件)通过JDK中的编译器(javac)编译成字节码(.class文件)字节码由JRE中的JVM加载并执行。JVM将字节码解释或编译成机器码,实现跨平台运行。JRE提供运行环境,包含JVM和类库,支持程序的运行。JDK提供编译和开发工具,支持代码的编写和编译。JVM作为执行引擎,负责字节码的执行和内存管理。,也就是说,数字不可以开头。
2025-09-09 22:21:13
303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅