自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven实现IDEA添加原型

在没有添加原型的时候里边也就两个原型大概就是下图,即使就是点击添加原型但是还是没有效这个时候就需要在C盘下的C:\Users\用户名\AppData\Local\JetBrains\IntelliJIdea2021.2\Maven\Indices这个目录下创建一个UserArchetypes.xml文件,然后重启IDEA就可以了。...

2022-02-18 23:50:56 1217

原创 力扣练习题——27移除元素

其实这一题和上一题26题的思路也是一样的,具体的思路已经在代码的注释中已经表明,有疑惑的欢迎随时在评论区提问。public int removeElement(int[] nums, int value) { // 用来记录有几个不等于value的同时也表示在循环中第i个不等于value的元素在nums中应该存在的位置 int index = 0; if (nums.length == 0) return index; // 如果为空就直接输出

2022-02-16 22:40:45 6852 1

原创 力扣练习题————删除有序数列中的重复事项1.0

此题的解题思路:是用result这个变量来记录有几个不同的元素然后通过循环遍历数组,通过当前索引和下一个索引的元素是否一致,来判断有几个不同的元素但是,result刚好也表示这个不同的元素在数组里边真正要处的位置。这就是我个人的语言解释,解释的可能不太清,大家可以通过看代码理解一下,有不懂的欢迎评论。也欢迎各位大神来指点。class Solution { public int removeDuplicates(int[] nums) { // 先判断是否为空,如果为空就可以直

2022-02-13 23:50:18 302

原创 力扣练习题——合并两个有序链表2.0来了

这次用的方法是将list2链表中的数据和list1中的数据比较大小后插入进去不过内存依旧是大,就是执行用时短了class Solution { public ListNode mergeTwoLists(ListNode list1,ListNode list2) { if (list1 == null && list2 == null) { return list1; } else if (list1 != null

2022-02-08 17:58:50 450

原创 力扣练习题——合并两个有序链表1.0

合并两个有序链表,虽然成功了,但是内存消耗太大了。欢迎各位大佬在下边评论。package com.shengda.Demo0Likou;import java.util.ArrayList;public class Demo21 { public static void main(String[] args) { ArrayList<Integer> arr1 = new ArrayList<>(); ArrayList<

2022-02-08 16:56:05 439

原创 力扣练习题——有效括号1.0版本

这是第一次思考出来的代码,如果有改进的还会继续更新,这个代码,就是内存消耗太大,还有消耗时间长,总结下来,就是差劲,欢迎各位在评论区评论。package com.shengda.Demo0Likou;import java.util.ArrayList;import java.util.Map;public class ss { public static void main(String[] args) { Solution s = new Solution();

2022-01-23 23:31:00 271

原创 Stream流的学习

Stream流的获取Stream流的获取: 单列集合:集合对象.stream() 双列集合:不能直接获取,需要间接获取 集合对象.KeySet().stream(); 集合对象.entrySet().stream(); 数组: Arrays.stream(数组名); 同种数据类型的多个数据: Stream.of(2,3,4,5);package com.shengda.Dem

2022-01-23 14:02:18 335

原创 JAVA可变参数

可变参数·可变参数:就是形参的个数是可以变化的格式:修饰符 返回值类型 方法名(数据类型…变量名) {}范例:public static int sum(int…arr){}可变参数注意事项这里的变量其实是一个数组如果有一个方法有多个参数,包含可变参数,可变参数要放在最后package com.shengda.Demo6Map;/** 需求:定义一个方法求N个数的和* 可变参数实现* */public class Demo7MyVariableParameter3 { p

2022-01-23 08:00:00 212

原创 Map集合的学习

Map集合概述Interface Map<K,V> K:键的数据类型;V:值的数据类型键不能重复,值可以重复键和值是一一对应的,每一个键只能找到自己对应的值(键+值)这个整体我们称之为“键值对”或者“键值对对象”,在JAVA中叫做“Entry对象”。创建Map集合的对象 多态的方式。package com.shengda.Demo6Map;import java.util.HashMap;import java.util.Map;public class Demo1M

2022-01-23 07:45:00 183

原创 力扣练习题——最长公共前缀

package com.shengda.Demo0Likou;public class Demo14 { public static void main(String[] args) { Solution s = new Solution(); String[] strs = new String[]{"ab","ab"}; String str = s.longesCommonPrefix(strs); System.out.pr

2022-01-22 23:03:31 4586

原创 JAVA罗马数字转整数——力扣练习题

package com.shengda.Demo0Likou;import java.util.HashMap;public class Demo13 { public static void main(String[] args) { Solution solution = new Solution(); String s = "IV"; int num = solution.romanToInt(s); System.out

2022-01-22 20:00:00 309

原创 回文数——力扣练习题JAVA

package com.shengda.Demo0Likou;public class Demo9 { public static void main(String[] args) { Solution s = new Solution(); int x=0; boolean bl = s.isPalindrome(x); System.out.println(bl); }}class Solution{ pu

2022-01-22 19:00:00 239

原创 力扣——两数之和JAVA

图片中的方法仅为个人理解,欢迎各位在下方评论package com.shengda.Demo0Likou;import java.util.HashMap;import java.util.Map;public class Demo1 { public static void main(String[] args) { Solution s = new Solution(); int[] nums = {3,3}; int[] num =

2022-01-22 13:50:14 320

原创 HashSet集合的学习

HashSet集合概述和特点特点: 底层数据结构是哈希表 不能保证存储和取出的顺序完全一致 没有带索引的方法,所以不能使用普通for循环遍历 由于是Set集合,所以元素唯一代码验证package com.shengda.Demo5HashSet;import java.util.HashSet;import java.util.Iterator;public class Demo1HashSet { public static void main(String[] args

2022-01-20 08:00:00 304

原创 JAVA中Set集合的学习

Set集合概述和特点不重复Set集合特点: 可以去除重复 存取顺序不一致 没有带索引的方法,所以不能使用普通for循环遍历,也不能通过索引类获取,删除Set集合里面的元素。存储字符串并遍历练习package com.shengda.Demo4Set;/*Set集合的基本使用*/import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class Demo1MySet {

2022-01-19 16:23:07 351

原创 JAVA泛型的学习

泛型概述泛型:是JDK5中引入的特性,它提供了编译时类型安全检测机制泛型的好处: 把运行时期的问题提前到了编译期间 避免了强制类型转换总结: 如果一个类的后面有<E>,表示这个类是一个泛型类 创建泛型类的对象时,必须要给这个泛型确定具体的数据类型自定义泛型类泛型的定义格式: <类型>:指定一种类型的格式。 尖括号里面可以任意书写,按照变量的定义规则即可。一般只写一个字母。 比如:<E> <T> <Q> <

2022-01-19 14:55:00 221

原创 List学习还有ArrayList和LinkedList的常用操作

List集合概述和特点List集合概述 有序集合,这里的有序指的是存取顺序 用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素。 与Set集合不同,列表通常允许重复的元素List集合特点: 有序:存储和取出的元素顺序一致 有索引:可以通过索引操作元素 可重复:存储的元素可以重复List中的添加和删除 // void add(int index,E element) 在此集合中的指定位置插入指定的元素 // E remove(int

2022-01-19 12:23:30 82

原创 数据结构学习

数据结构是计算机存储、组织数据的方式。是指相互之间存在一种或多种特定关系的数据元素的集合,通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。栈队列数组链表栈数据进入栈模型的过程称为:压栈或者是进栈数据离开栈模型的过程称为:弹栈或者是出栈总结:栈是一种数据先进先出的模型队列数据从后端进入队列模型的过程称为:入队列数据从前端离开队列模型的过程称为:出队列总结:队列是一种数据先进先出的模型数组 查询数据通过地址值和索引值定位,查询任意数据耗时相同,查询速度快 删除数

2022-01-19 11:45:38 160

原创 Collection集合的学习

Collection集合常用的方法 // boolean add(E e) 添加元素 // boolean remove(Object o) 从集合中移除指定的元素 // boolean removeif(Object o) 根据条件进行删除 // void clear() 清空集合 // boolean contains(Object o) 判断集合中是否存指定的元素 // boolean isEmpty() 判断集合是否为空

2022-01-19 09:00:00 2312

原创 LocalDateTime学习

package com.shengda.Demo12DateJDK8;import java.time.LocalDateTime;public class JDK8DateDemo1 { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); // 获取当前系统时间 System.out.println(now); LocalDat

2022-01-18 20:15:00 650

原创 JAVA获取当前时间并且指定格式,直接修改时间

SimpleDateFormat类概述SimpleDateFormat可以对Date对象,进行格式化和解析。格式化package com.shengda.Demo11Date;import java.text.SimpleDateFormat;import java.util.Date;public class DateDemo3 { public static void main(String[] args) { // 当前时间的Date对象 Dat

2022-01-18 13:45:49 1126

原创 Integer类的概述和使用还有基本类型包装类概述

基本类型包装类概述将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBooleanInteger类的概述和使用Integer:该对象中包装了一个基本数据类型int的值Integer (int value) // 根据i

2022-01-18 08:00:00 272

原创 JAVA中BigDecimal的学习

创建BigDecimal对象package com.shengda.Demo7BigDecimal;import java.math.BigDecimal;public class MyBigDecimalDemo2 { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal(10.0); BigDecimal bd2 = new BigDecimal("0.3");

2022-01-18 07:30:00 277

原创 Object类和Objects

Object类的概述每个类都可以将Object作为父类,所有类都直接或者间接的继承自该类。构造方法:public Object()为什么说子类的构造方法默认访问的是父类的无参构造方法?因为它们的顶级父类只有无参构造方法。1.Object类是所有类的直接或者间接父类2.直接打印一个对象就是打印这个对象的toString方法的返回值3.Object类的toString方法得到的是对象的地址值4.我们一般会对toString方法进行重写...

2022-01-17 21:26:01 190

原创 API中的System

void exit (int status) // 终止当前运行的java虚拟机,非零表示异常终止long currentTimeMillis () // 返回当前时间(以毫秒为单位)arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数) 数组copy代码中如何使用package com.shengda.Demo2System;public class SystemDemo { public static void main(String[] args) {

2022-01-17 17:02:02 235

原创 JAVA常用API中的Math

int abs(int a) // 返回参数的绝对值double ceil(double a) // 向上取整double floor(double a) // 向下取整int round(float a) // 四舍五入int max(int a,int b) // 返回两个int值中的较大值int min(int a,int b) // 返回两个int值中的较小值double pow(double a,double e) // 返回a的b次幂的值double random()

2022-01-17 16:43:24 61

原创 Lambda表达式和匿名内部类的区别

所需类型不同匿名内部类:可以是接口,也可以是抽象类,还可以是具体类Lambda表达式:只能是接口使用限制不同如果接口中有且仅有一个抽象方法,可以使用Lambda表达式,也可以使用匿名内部类如果接口中多于一个抽象方法,只能使用匿名内部类,而不能使用Lamnbda表达式实现原理不同匿名内部类:编译之后,产生一个单独的.class字节码文件Lambd表达式:编译之后,没有一个单独的.class字节码文件。对应的字节码会在运行的时候动态生成...

2022-01-17 16:04:21 173

原创 Lambda表达式的省略

省略规则1.参数类型可以省略,但是有多个参数的情况下,不能只省略一个2.如果参数有且仅有一个,那么小括号可以省略3.如果代码块的语句只有一条,可以省略大括号和分号,甚至是returnpackage com.shengda.test7;public class Test7 { public static void main(String[] args) { // 省略前 /*useInter((double a,double b)->{

2022-01-17 15:53:59 1222 2

原创 Lambda表达式及练习

Lambda表达式的标准格式匿名内部类中重写swim()方法的代码分析 1.方法形式参数为空,说明调用方法时不需要传递参数 2.方法返回值类型为void,说明方法执行没有结果返回 3.方法体中的内容,是我们具体要做的事情goSwimming(new Swimming() { @Override public void swim() { System.out.println("游泳去吗"); }

2022-01-17 15:35:15 1052

原创 JAVA匿名内部类

匿名内部类概述匿名内部类本质上是一个特殊的局部内部类(定义在方法内部)前提需要存在一个接口或类理解:匿名内部类是将(继承\实现)(方法重写)(创建对象)三个步骤,放在了一步进行public class Test5Innerclass { /* 1.创建实现类,通过implements关键字去实现接口 2.重写方法 3.创建实现类对象 4.调用重写后的方法。 匿名内部类: 前提:

2022-01-17 14:34:26 713

原创 JAVA内部类

内部类概述内部类:就是在一个类中定义一个类,举例:在一个A类的内部定义了一个B类,B类就被称为内部类。public class Outer{ public class Inner { }}内部类的访问特点内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建对象成员内部类按照内部类在类中定义的位置不同,可以分为如下两种形式 在类的成员位置:成员内部类 在类的局部位置:局部内部类成员内部类,外界如何创建对象使用呢? 格式:外部类名.内部类名 对象名 = n

2022-01-17 14:06:16 200

原创 Exception in thread “main“ java.lang.NullPointerException此错误

Exception in thread “main” java.lang.NullPointerException当一个对象的值为空时,你没有判断为空的情况。for (int i = 0; i < students.length; i++) { Student stu = students[i]; if (stu != null) { // NullPointerException 如果这里没有判断学生对象是否为空,就会出现这个错误

2022-01-16 23:31:46 518

原创 java中多态的利与弊

多态中成员访问特点构造方法:同继承一样,子类会通过super访问父类构造方法成员变量:编译看左边(父类),执行看左边(父类) 意思是如果父类没有这个变量,当在主类程序进行使用的时候就会报错,而且输出的也是父类的这个变量值。成员方法:编译看左边(父类),执行看右边(子类) 当父类和子类都有这个方法的时候,在主类中调用这个方法的时候,如果父类没有这个方法,编译器就直接报错了,但是执行的时候是使用的是子类里边的这个方法。多态的好处和弊端多态的好处:提高了程序的扩展性。 具体体现:定义方法的时候,

2022-01-16 20:07:03 506

原创 JDK8和JDK9版本的接口

JDK8版中接口成员的特点JDK8版本后,JAVA只对接口的成员方法进行了改进。 1.允许在接口中定义非抽象方法,但是需要使用关键字default修饰,这些方法就是默认方法 作用:解决接口升级的问题接口中默认方法的定义格式: 格式:public default 返回值类型 方法名(参数列表){} 范例:public default void show() {}接口中默认方法的注意事项: 默认方法不是抽象方法,所以不强制被重写。但是可以被重写,重写的时候去掉default关键字。 publ

2022-01-16 15:00:59 368

原创 java接口

接口介绍当一个类中的所有方法都是抽象方法的时候,我们就可以将其定义为接口。接口也是一种引用数据类型,它比抽象类还要抽象。接口存在的两个重要意义; 1.规则的定义 2.程序的扩展性接口的定义和特点接口用关键字interface来定义 public interface 接口名 {}接口不能实例化接口和类之间是实现关系,通过implements关键字表示 public class 类名 implements 接口名 {}接口的子类(实现类) 要么重写接口中的所有抽象方法 要么是抽象类

2022-01-16 13:43:53 43

原创 JAVA代码块概述与分类

在java中,使用{}括起来的代码被称为代码块分类: 局部代码块 位置:方法中定义 作用:限定变量的生命周期,及早释放,提高内存利利用率public class Test { /* 局部代码块: 位置:方法中定义 作用:限定变量的生命周期,及早释放,提高内存利用率 */ public static void main(String[] args) { { int a

2022-01-16 11:01:27 73

原创 java: 抽象方法不能有主体

出现这个错误:java: 抽象方法不能有主体可以查看自己定义的抽象类后边是否是有大括号。比如错误显示。正确显示

2022-01-16 10:33:44 2399 1

原创 java抽象类概述和注意事项

概述抽象方法:将共性的行为(方法)抽取到父类之后,发现该方法的实现逻辑无法在父类中给出具体明确,该方法就可以定义为抽象方法。抽象类: 如果一个类中存在抽象方法,那么该类就必须声明为抽象类。 抽象方法的定义格式: public abstract 返回值类型 方法名(参数列表); 抽象类的定义格式: public abstract class 类名 {}抽象类注意事项抽象类不能实例化抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类可以有构造方法抽象类的子类: 要么重写抽象类中

2022-01-16 10:29:18 110

原创 java方法重写

方法重写方法重写概述 在继承体系中,子类出现了和父类中一摸一样的方法声明。方法重写的应用场景 当子类需要父类的功能,而功能主体子类有自己特有内容,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。注意: 方法重写:在继承体系中,子类出现了和父类一摸一样的方法声明(方法名,参数列表,返回值类型)。 方法重载:在同一个类中,方法名相同,参数列表不同,与返回值无关,例:TestOverride.javapublic class TestOverride {

2022-01-15 14:57:59 64

原创 JAVA的继承

继承的好处和弊端好处: 提高了代码的复用性 提高了代码的维护性 让类与类之间产生了关系,是多态的前提弊端: 继承是侵入性的 降低了代码的灵活性 继承关系,导致子类必须拥有父类非私有属性的方法,让子类自由的世界多了些约束 增强了代码的耦合性 代码与代码之间存在关联都可以将其称之为“耦合”。耦合性: 代码与代码之间存在关键都可以将其称之为“耦合”什么时候使用继承:当类与类之间,存在相同(共性)的内容,并且产生了is a的关系,就可以考虑使用继承,来优化代码。例如: 学生:姓

2022-01-13 18:22:12 1021

空空如也

空空如也

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

TA关注的人

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