![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 78
怎样让大排不硬
一条菜狗
展开
-
Java反射机制
Reflection(反射)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查,或者说“自省”,下面就让我们一起来学习Java反射!!!原创 2022-04-11 11:09:52 · 144 阅读 · 0 评论 -
二叉树的学习——进阶面试题篇
最近一直在学习数据结构,学习的过程中不禁感叹编程真是一件有趣的事情,学完二叉树之后,彻底拜倒在递归的石榴裙下,脑子里只剩下一句话——多么神奇的递归啊!尤其是在写各种面试题时,这里就记录一下和二叉树有关的面试题吧!原创 2022-03-22 16:43:44 · 790 阅读 · 1 评论 -
二叉树的学习——基础面试题篇
最近一直在学习数据结构,学习的过程中不禁感叹编程真是一个神奇的东西,当我学习完二叉树后,彻底拜倒在递归的石榴裙下,脑子里只剩下一句话——多么神奇的递归啊!尤其是在写各种面试题时,这里就记录一下和二叉树有关的面试题吧!原创 2022-03-10 19:57:44 · 384 阅读 · 2 评论 -
二叉树的学习——遍历篇
本文介绍了二叉树的前序遍历、中序遍历、后序遍历以及层序遍历。原创 2022-03-09 17:15:47 · 786 阅读 · 1 评论 -
堆的几种应用
一、优先级队列优先级队列:底层基于堆的队列,可以按照元素间优先级的大小动态顺序出队。基于最大堆的优先级队列:import queue.Queue;/** * 基于最大堆的优先级队列实现,值越大优先级越高 * 队首元素就是优先级最大的元素 */public class PriorityQueue implements Queue<Integer> { private MaxHeap heap; public PriorityQueue(){ ..原创 2022-03-09 09:34:11 · 645 阅读 · 0 评论 -
堆的基本操作
目录一、堆(heap)1.1 基本概念二、堆的基本操作2.1 向最大堆中添加一个元素2.2 取出堆中最大元素2.3 堆化(heapify)三、源代码一、堆(heap)1.1 基本概念堆:堆在逻辑上就是一颗完全二叉树,物理上是保存在数组中。特点:最大堆/大根堆:堆中根节点的值大于等于子树中的节点值。 最小堆/小根堆:堆中根节点的值小于等于子树中的节点值。 在最大堆中,只能保证当前根节点大于等于子树的所有节点,但是节点的大小关系和所处的层次无关。 堆的基原创 2022-03-07 16:04:52 · 1127 阅读 · 0 评论 -
栈和队列习题整理
一、括号匹配问题题目描述如下:解题思路:使用栈来解决,扫描字符串,当碰到左括号时直接入栈,当扫描到右括号时,弹出栈顶元素查看是否匹配,不匹配直接false,否者重复上述流程。两个边界问题:扫描完字符串,栈不为空时,说明左括号多了,没有相匹配的右括号,直接false。 扫描到第一个右括号时,发现栈为空,说明右括号是该字符串的第一个字符,没有相匹配的左括号,直接false。代码如下:public class Num20 { public boolean isValid...原创 2022-02-19 16:46:58 · 676 阅读 · 0 评论 -
什么是泛型?
泛型:就是指在类定义时不会设置类中的属性或方法参数的具体类型,而是在类使用时(创建对象)再进行类型的定义。会在编译期检查类型是否错误。原创 2022-02-06 15:35:15 · 34303 阅读 · 5 评论 -
内部类是什么类?
内部类:所谓内部类,就是将类结构的定义套在另一个类的内部,内部类也属于一种封装。内部类分为四种:成员内部类、静态内部类、方法内部类、匿名内部类。一、成员内部类成员内部类:直接定义在类中,不加任何修饰符(static)定义的类。特点:内部类和外部类可以方便的互相访问彼此的private域。1.1成员内部类的使用方法①成员内部类的创建需要依赖外部类对象,在没有外部类对象之前,无法创建成员内部类对象。②内部类是一个相对独立的实体,与外部类不是 is-a 关系。③内部类可以直接访..原创 2022-02-02 13:35:01 · 1136 阅读 · 0 评论 -
Object类、包装类、集合类
一、Object类1.1 Object类的特点Object类:是所有类的默认父类(不需要使用extends显示继承),因此Object类的所有方法(private除外),所有类的对象都能用。Java中对Object类做了扩充,Object类不仅是所有类的父类,只要是引用数据类型,都可以向上转型变为Object,包括数组和接口。Object类型可以接收所有引用数据类型。Object是引用数据类型的最高参数统一化,如果你设计的方法需要接收所有引用数据类型,类型声明为Obj...原创 2022-01-30 16:58:57 · 1589 阅读 · 0 评论 -
Java中的异常
一、什么是异常所谓异常指的就是程序在运行时出现错误时通知调用者的一种机制。常见异常如下所示:除0异常:空指针异常:数组越界异常:防御式编程:LBYL:在操作之前就做充分的检查EAFP:先操作,遇到问题再处理二、异常的基本用法2.1基本语法try{ //存放所有有可能出现的异常;}[catch(捕获相应的异常)...[0...N]]{ //出现相应异常后处理方式}[finally]{ //无论是否发生异常,都会执行f...原创 2022-01-28 16:06:47 · 496 阅读 · 0 评论 -
String类
一、创建字符串9String是用final修饰的,final修饰的不能有子类。1.1创建字符串的方式①.直接赋值法:String str="hello word";字面量:直接写出来的值称为字面量,上面的 "hello word" 就是字符串字面量。②.通过new来创建字符串对象:String str=new String("hello word");③.通过char数组来创建字符串:char[] data={'h','e','l','l','o'}; String str=..原创 2022-01-27 14:13:28 · 207 阅读 · 0 评论 -
面向对象编程
一、包1.1 包的定义包:是组织类的一种方式,就是一个文件夹,使用package定义一个包,主要目的是解决类名称重复问题。包的命名规则:和项目命名规则相同,全部小写,多个单词使用下划线分隔。1.2 导入包中的某个类①使用java.util.Date引入java.util这个包中的Date类:②使用import语句导入:③将java.util这个包中的类全部导入:④当两个包中都有相同名称的类时:1.2.1 静态导入使用 import stat...原创 2022-01-12 15:08:05 · 1730 阅读 · 1 评论 -
Java顺序表
目录一、线性表二、顺序表2.1代码分析2.1.1 扩容2.1.2在数组头部插入元素2.1.3在数组尾部插入元素2.1.4在数组任意位置插入元素2.1.5删除指定索引位置的元素2.1.6删除数组中所有值为value的元素三、完整代码一、线性表线性表:线性表是n个具有相同特性的数据元素的有限序列,常见的线性表有顺序表、链表、栈、队列、字符串......线性表在逻辑上是线性结构,也就时说是连续的一条直线。但是在物理结构上并不是连续的,线性表在物理上存储时,原创 2021-12-02 16:30:31 · 648 阅读 · 1 评论 -
Java中的类和对象
目录一、类与对象的初步认识1.1类与对象1.2类的定义:1.3类的实例化:二、类的成员2.1 字段/属性/成员变量2.2 static关键字(与对象无关!)2.2.1 修饰属性2.2.2 修饰方法2.2.3 代码块2.2.4修饰类2.2.5 注意事项三、封装3.1 public和private3.2 getter和setter四、构造方法4.1 构造方法4.2 this关键字五、认识代码块5.1 构造代码块5.2 静态代原创 2021-11-29 20:33:49 · 278 阅读 · 1 评论 -
Java实现汉诺塔
1、图解如下2、汉诺塔规则:编程实现将n个盘子从A移动到C,盘子编号从1到n 每次只能移动一个盘子 大盘子只能放在小盘子下面3、思路4、代码如下public class Han { public static void main(String[] args) { hanoiTwoer(3,'A','B','C'); } public static void hanoiTwoer(int nDisks,char A,char B.原创 2021-11-25 17:51:20 · 784 阅读 · 2 评论 -
·多数元素
题目内容:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:[3,2,3]输出:3示例2:输入:[2,2,1,1,1,2,2]输出:2第一种方法:排序法将数组排序变成有序数组,众数一定出现在中间位置,因为众数的个数大于数组长度的一半。代码如下:public class MoreNum { public static voi.原创 2021-11-24 22:01:43 · 252 阅读 · 2 评论 -
Java方法与数组
一.方法的定义与使用//方法定义public static 返回值声明 方法名称(参数类型 参数名称 ...){ 方法体代码; [return 返回值];}//方法调用返回值变量=方法名称(实参...);在没有返回值的方法中使用return; 表示提前结束方法的调用。 java中没有函数声明的概念,一旦定义一个方法就必须写它的实现。 调用该方法与该方法定义的位置无关,可以在方法实现代码之前调用该方法。 java方法的参数传递只有值传递,只是将实参的值复制一份给形参。原创 2021-11-22 19:52:35 · 224 阅读 · 1 评论 -
java数据类型与逻辑控制
目录一.变量1.1数据类型1.2字符串类型变量1.3变量的命名规则二.常量三.类型转换与数值提升3.1类型转换3.2数值提升3.3 int 和 String 之间互相转换四.分支结构五.循环结构六.输入输出6.1输入6.2输出一.变量1.1数据类型java中数据类型如下图所示:1.2字符串类型变量语法格式:String 变量名="初始值";转义字符:转义字符 \n 换行 \t 水平制表符 .原创 2021-11-18 16:21:20 · 326 阅读 · 1 评论