![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
It_张
这个作者很懒,什么都没留下…
展开
-
Java算法练习5
假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。如果答案不止一个,则输出所有答案并且不考虑顺序。你可以假设答案总是存在。给出数字到字母的映射如下(与电话按键相同)。的字符串,返回所有它能表示的字母组合。,请你判断矩阵是否为一个有效矩阵:如果是,返回。的矩阵而言,如果其每一行和每一列都包含从。编写一个程序,通过填充空格来解决数独问题。这个范围内没有出现在数组中的那个数。,验证已经填入的数字是否有效即可。),则认为该矩阵是一个。原创 2024-02-07 16:10:33 · 866 阅读 · 0 评论 -
Java算法练习4
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。注意,指针初始化为一个不存在于 BST 中的数字,所以对。时,BST 的中序遍历中至少存在一个下一个数字。的首次调用将返回 BST 中的最小元素。(即逐层地,从左到右访问所有节点)。,判断其是否是一个有效的二叉搜索树。调用总是有效的,也就是说,当调用。给定一个 N 叉树,返回其节点值的。(即从左到右,逐层遍历)。假设二叉树中至少有一个节点。给你一棵二叉树的根节点。给你一个二叉树的根节点。,返回所有左叶子之和。原创 2024-02-07 16:09:25 · 973 阅读 · 0 评论 -
【leetcode LCR059】 数据流中的第 K 大元素Java代码讲解
【leetcode LCR059】 数据流中的第 K 大元素Java代码讲解原创 2024-02-01 17:01:25 · 362 阅读 · 0 评论 -
Java PriorityQueue讲解
是 Java 中的一个类,实现了优先队列的数据结构。它是基于优先级堆的一种实现,用于存储具有优先级的元素。在优先队列中,元素按照它们的优先级(或权重)进行排序,队列头部始终包含最高(或最低)优先级的元素。默认是小根堆(min-heap)。这意味着队列的头部元素是具有最小值的元素,根据元素的自然顺序或者使用提供的比较器进行排序。原创 2024-02-01 16:49:06 · 662 阅读 · 0 评论 -
最大子数组和java实现【动态规划基础练习】
给你一个整数数组 `nums` ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。原创 2023-12-15 15:06:28 · 591 阅读 · 0 评论 -
最长的斐波那契子序列的长度【动态规划解决】
最长的斐波那契子序列的长度动态规划解决原创 2023-12-14 16:31:09 · 362 阅读 · 0 评论 -
最大公约数gcd的通俗理解和Java代码的实现
什么是最大公约数,最大公约数的计算,最大公约数的代码实现。最大公约数(Greatest CommonDivisor,简称GCD)是指两个或多个整数共有的最大正因数,即能够同时整除这些数的最大的正整数。以两个整数为例,最大公约数表示这两个数最大的共有因数,也就是能够同时整除这两个数的最大整数。例如,对于数字48和18,它们的最大公约数是6,因为6是48和18都能整除的最大整数。原创 2023-12-12 16:13:56 · 860 阅读 · 0 评论 -
基于Java基础的拼图游戏的设计与实现
有具体的代码实现,原创 2023-11-08 15:53:04 · 185 阅读 · 0 评论 -
spring @Bean注解作用大白话解释
本篇文章主要讲的是@Bean注解,这个注解属于用于注册Bean的注解。下面这段话部分摘自Spring中为什么要有@Bean注解?Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。@Bean明确地指示了一种方法,什么方法呢?产生一个bean的方法,并且交给Spring容器管理;原创 2023-08-06 18:39:14 · 653 阅读 · 0 评论 -
Java中反射获取的修饰符及其对应的值
如果整数参数包括 public 修饰符,则返回 true,否则返回 false。INTERFACE: 512 (二进制 0010 0000 0000)ABSTRACT: 1024 (二进制 0100 0000 0000)以整数形式返回此 Method 对象所表示方法的 Java 语言修饰符。STRICT: 2048 (二进制 1000 0000 0000)NATIVE: 256 (二进制 0001 0000 0000)PUBLIC: 1 (二进制 0000 0001)方法的修饰符获取与属性类似。转载 2023-03-02 17:58:29 · 360 阅读 · 0 评论 -
Java-IO流及其相关知识点(思维导图)
JavaIO流及其相关操作+思维导图原创 2023-02-28 19:58:13 · 166 阅读 · 0 评论 -
Java-异常思维导图
常见异常及使用方法原创 2023-02-25 16:38:58 · 183 阅读 · 0 评论 -
Java-集合详解
List接口时Collection接口的子接口List集合类中元素有序(即添加顺序和取出顺序一致)、且可重复List集合中的每个元素都有其对应的顺序索引,即支持索引List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。常用的实现类有:Vector、ArrayList、LinkedListSet接口和 List 接口一样, Set 接口也是 Collection 的子接口,因此,常用方法和 Collection 接口一样。原创 2023-02-23 15:42:50 · 76 阅读 · 0 评论 -
Java-正则表达式
matches(String regex) 告知此字符串是否匹配给定的正则表达式。(String reg) 返回布尔类型。正则表达式(regular expression)描述了一种字符串 (缩写regex)匹配的模式,可以用来:校验。//获取正则表达式匹配的内容。检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串;while(match.find()){//代表发现匹配的元素。根据匹配规则对字符串进行灵活的替换操作。原创 2023-02-21 20:00:09 · 130 阅读 · 0 评论 -
Java-日期类Date类和Calendar类
/1000代表1000毫秒,从1970 1 1 00:00:00开始计算。//获取当前日期对应的毫秒数也是从1970 1 1 00:00:00开始计算。String->Date用format,Date->String用parse。日期的格式化(String->Date或者Date->String)语法:Date date = new Date();Date->Calendar 用setTime()Calendar->Date用getTime()原创 2023-02-21 19:38:22 · 132 阅读 · 0 评论 -
java - StringBuilder,StringBuffer
String侧重字符串存储,不擅长字符串拼接或频繁修改,造成大量对象的创建,造成内存的浪费,所以不建议大量使用+号,当需要字符串拼接或频繁修改字符串时,结合线程情况考虑StringBuilder,StringBuffer。String擅长字符串存储,不擅长字符串拼接或频繁修改,造成大量对象的创建,造成内存的浪费,所以不建议大量使用+号。StringBuffer 线程异步(synchronized),安全性高,效率低。常用方法: 拼接:append("") ,反转:reverse()原创 2023-02-21 16:05:37 · 44 阅读 · 0 评论 -
Java-String类型比较及其创建时所在的内存存储位置
= 比较地址equals()比较内容(默认Object中equals比较的是地址 String重写了equals变成了比较内容)两个字面量拼接会在编译器自动完成(如果有变量则会开辟额外控件创建新的对象)字面量赋值内容放到常量池(相同的不再创建)new对象赋值内容放到堆+号进行字符串的拼接会造成大量空间的浪费,不推荐大量字符串拼接(建议不要超过3个 推荐使用StringBuffer或者StringBuilder)原创 2023-02-18 18:14:11 · 99 阅读 · 0 评论 -
Java-Interger和int之间关系及相互转换(拆箱,装箱)
= 在引用类型比较时比较的是地址new出来的内容互相独立,地址一定不同Integer缓存 范围(-128-127)注意: Double Float没有缓存Integer 和int 比较自动拆箱转为int后比较。原创 2023-02-18 18:06:09 · 381 阅读 · 0 评论 -
Java-访问修饰符基本介绍及其用途
修饰符可以用来修饰类中的属性,成员方法以及类。只有默认的和public才能修饰类。成员方法的访问规则和属性完全一样。原创 2023-02-18 10:59:05 · 82 阅读 · 0 评论 -
Java-接口及其特点
(接口中的方法 抽象的方法+static静态方法+defalt方法)--jdl1.8升级后可以有静态和default方法。接口和接口之间可以继承(extends 接口)--简称多继承(接口 extends 接口1,接口2)一个类可以实现多个接口--简称多实现(实现类 implements 接口1,接口2)常量+抽象方法+static静态方法+default方法。提升代码的标准性,提升代码的扩展性(多继承,多实现)实现类必须实现接口的抽象方法。关键字:interface。是否的实例化 :不能。原创 2023-02-18 10:43:42 · 58 阅读 · 0 评论 -
Java-抽象类及其作用
提取子类的公共行为(方法)对于子类都要重写的方法,父类省略了方法体 提升了标准性。子类可以重写父类的方法或覆盖其属性 提升代码的扩展性。子类可以继承父类的属性或方法 提升代码的重用度。子类可以有特有的方法或属性 提升代码的扩展性。Java中单继承,一个类只能有一个唯一的父类。组成:类的常规组成+抽象方法(非必须)是否能实例化:抽象类不能实例化对象。提升代码的重用度,扩展性,标准性。子类必须重写父类的抽象方法。关键字:abstract。原创 2023-02-18 09:27:49 · 54 阅读 · 0 评论 -
【final】Java关键字-final
加final后全局变量值不能改变(引用类型不能改变的是地址,但是可以修改属性值)加final后局部变量值不能改变(引用类型不能改变的是地址,但是可以修改属性值)常量一般用大写,为了区分多个单词所以用下划线分割 例:SIGN_FLG。一般对于全局变量static和final连用。加final后局部变量可以先声明,之后赋值。项目中公共使用的常量会单独放置一个常量类中。加final后全局变量必须被初始化。参数加final,代表参数不能改变。修饰方法(最终方法 不能被重写)修饰类(最终类 不能被继承)原创 2023-02-16 20:00:39 · 56 阅读 · 0 评论 -
【代码块】Java-static关键字-代码块
父静态代码块->子静态代码块->父(非静态代码块->构造方法)->子(非静态代码块->构造方法)反射机制可以触发类加载(注:反射机制使用:Class.forName("类的全路径");先执行静态代码块1次 然后(非静态代码块,构造方法)可能执行n次。有父子关系时 (静态代码块,非静态代码块,构造方法)先执行父的静态代码块 然后执行子的静态代码块。在调用方法时触发,次数结合调用构造方法的次数。先执行非静态代码块 在执行构造方法。当前类中入口哦方法触发类加载。静态内容的调用触发类加载。原创 2023-02-16 19:28:17 · 55 阅读 · 0 评论 -
Java-this,super关键字及比较
在构造方法中或非静态方法(实例级别的方法)中this.默认可以省略,当局部变量和全局变量(属性)同名时,如果想要代表全局变量,this不能省略。位置:只能在子构造方法中,且只能出现第一行(super()和this()不能同时使用)特殊:默认构造方法的第一行省略super() 即子类的构造方法默认调用父类的无参构造。代表的是当前对象(即哪个对象调用当前的属性或方法 this就是代替这个对象)访问本类中的属性,如果本类没有此属性则从父类中继续查找。代表:调用当前类的构造方法(构造方法调用构造方法)原创 2023-02-16 18:23:11 · 54 阅读 · 1 评论 -
【多态】Java多态的具体介绍
等号右边调用的方法具体执行的父的还是子的决定于子是否重写父,如果重写执行子,否则执行父。是面向对象的第三大特征,多态是建立在封装和继承基础之上的。作用:是判断一个对象是否是另一个类的实例 返回值是boolean。语法:父类类型 对象名 = new 子类类型();编译类型看定义时 = 左边,运行类型看=右边的。语法:子类类型 对象名 =(子类类型)父类引用。一个对象的编译类型和运行类型可以不一致。方法的多态(重写和重载就体现出多态)可以调用子类类型中所有的成员。运行类型是可以变化的。原创 2023-02-16 12:01:10 · 59 阅读 · 0 评论 -
Java-重载与重写对比
(不同级别的方法不能相互重写)即静态的不能重写成非静态的 非静态的不能重写为静态方法。子类重写的方法,返回的类型和父类返回的类型一致,或者是其子类。静态的方法无重写概念,此现象叫静态方法的隐藏。访问修饰符:前大 子类访问修饰符>=父类访问修饰符。返回值类型,修饰符,异常都不是判定重载对的标志。异常:后小 子类抛出的异常要原创 2023-02-16 11:12:38 · 67 阅读 · 0 评论 -
【面向对象】Java面向对象的三大特征
重写的标志 技巧:从方法的语法(按照顺序从前往后 前大(访问修饰符) 后小(异常))方法封装了业务逻辑代码(重复性的或者聚集性的业务封装为方法)提升代码的重用度,提升代码的维护性。(不同级别的方法不能相互重写)即静态的不能重写成非静态的 非静态的不能重写为静态方法。属性可以覆盖(即继承过来的属性值进行重新设定 子类和父类中同名的属性即属性的覆盖)特点:有私有化的属性和属性对应的get,set方法组成,一般无其他业务方法。方法可以被重写(子类和父类满足重写要求的方法)原创 2023-02-15 17:14:58 · 65 阅读 · 1 评论 -
Java全局变量和局部变量的区别
全局变量:非static- 对象级别加载到堆 static-在方法区的静态区中。全局变量:非static 在对象消亡时 static-类结束。局部变量(方法内定义的变量 ,方法的参数)局部变量没有初始值,必须在使用前赋值。全局变量可以添加 static。局部变量在方法内或方法参数部分。全局变量可以添加访问修饰符。全局变量默认有初始值。全局变量在类的最上方。局部变量:方法出栈时。原创 2023-02-15 12:19:38 · 80 阅读 · 0 评论 -
Java static修饰符对于属性和方法的含义
2. static 类变量(类成员变量 静态变量 类级别(公共享有,不属于某个对象,各个对象都可以用,属于类级别)如果不同级别的方法,静态的方法不能直接可以间接调用非静态的方法(通过创建对象 对象.方法)如果不同级别的方法,非静态的方法(对象级别可以调用静态的方法即属于类级别的方法)-》静态。1.非static 非静态方法 实例方法(实例成员方法 对象级别(私有效果,对象独有,互不影响)1. 非static 实例变量(实例成员变量 非静态变量 对象级别(私有效果,对象独有,互不影响)原创 2023-02-15 11:47:34 · 90 阅读 · 1 评论 -
Java String类中常用的方法
substring(int beginIndex, int endIndex)从beginInedx到endIndex(注意左闭右开)返回一个字符 串,该字符串是此字符串的子字符串。lastIndexOf(String str, int fromIndex) 返回指定字符的最后一次出现的字符串中的索引,从指定的索引开始向后搜索。indexOf(String str,int fromIndex)返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。trim() 去掉字符串头和尾的空格。原创 2023-02-14 11:02:41 · 67 阅读 · 0 评论 -
Java一维数组的拷贝
/src:原数组 srcPos:原数组要复制的起始位置 dest:目标数组 destPos:目标数组的起始位置 lenth:要复制的长度。Arrays.copyOfRange(数组,from, to)//从下标from开始,到to的前一位结束,左闭右开。例:int[] arr2 = Arrays.copyOfRange(arr , 2, 6);Arrays.copyOf(数组,拷贝长度) //从0下标开始拷贝,拷贝相应长度。例 :int[] arr1 = Arrays.copyOf(arr , 3);原创 2023-02-10 09:55:54 · 83 阅读 · 0 评论 -
Java数组
/推荐 其中:元素类型为int,数组长度为5,默认值为0。//定义一个 长度为3的数组,元素类型是int;//静态赋值的完整写法。数组的长度:可以调用类库的方法:例如 int len = arr.lenth;数组的遍历(及循环得到数组的各个元素)访问数组中的元素:数组名[下标]数组类型是一种特殊的引用类型。原创 2023-02-09 11:56:05 · 95 阅读 · 0 评论