自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++二维数组遍历

row必须加&引用。因为第一个循环的元素实际上是长度为4的一维数组。编译器编译时,会自动把数组形式的元素转换成指向数组内首元素的指针。这样不加&的话 得到的就是int* 指针类型 就会编译不通过。

2022-09-26 15:06:43 641

原创 java按照绝对值大小排序

nums = IntStream.of(nums) .boxed() .sorted((o1, o2) -> Math.abs(o2) - Math.abs(o1)) .mapToInt(Integer::intValue).toArray(); 上面那种方法, [[-2147483646,-2147483645],[2147483646,2147483647]] 排这种的时候会溢出 所以最好比较大小,不要用减法!!!!!!!! Arrays.sort(p

2022-04-29 20:21:52 2986

原创 java按照绝对值大小排序

nums = IntStream.of(nums) .boxed() .sorted((o1, o2) -> Math.abs(o2) - Math.abs(o1)) .mapToInt(Integer::intValue).toArray();

2022-04-27 20:12:01 1449

原创 做力扣题时,对函数传参的进一步理解

首先明白一点:java中基本类型是值传递,其他类型是引用传递 首先是树节点的定义 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int

2022-04-09 16:06:01 921

原创 java List作为参数传递 以及List传值引用问题 list类型添加同一个list值会一起改变问题

在多次添加同一个list对象到另一个list里的时候 List<List<Integer>> listtwo = new LinkedList<>(); List<Integer> list = new LinkedList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add

2022-04-08 20:40:11 6548

原创 写递归算法的三要素

这里帮助大家确定下来递归算法的三个要素。每次写递归,都按照这三要素来写,可以保证大家写出正确的递归算法! 确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。 确定终止条件: 写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。 确定单层递归的逻辑: 确定每一层

2022-04-03 13:33:17 368

原创 单调队列与单调栈

单调队列,顾名思义,是一种具有单调性的队列。众所周知,单调性有单调递增和单调递减两种,相应的单调队列也分为单调递增队列和单调递减队列两种。 单调递增队列:保证队列头元素一定是当前队列的最小值,用于维护区间的最小值。 单调递减队列:保证队列头元素一定是当前队列的最大值,用于维护区间的最大值 作用:需要得到当前的某个范围内的最小值或最大值 ** 实现流程:** 实现单调队列,主要分为三个部分: 去尾操作 :当队列有新元素待入队,需要从队尾开始,删除影响队列单调性的元素,维护队列的单调性。(删除一个队尾元素后,就

2022-04-02 17:26:18 133

原创 letcode刷题心得 二分法 螺旋矩阵 哈希表

一.在二分法和螺旋矩阵要注意定好区间 letcode 704题 二分法前提:不重复的元素,升序或降序序列 因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。 二分查找涉及的很多的边界条件,逻辑比较简单,但就是写不好。例如到底是 while(left < right) 还是 while(left <= right),到底是right = middle呢,还是要right = midd

2022-03-25 20:37:00 145

原创 java实现螺旋矩阵 letcode代码笔记

要如何画出这个螺旋排列的正方形矩阵呢? 要写出正确的螺旋矩阵一定要坚持循环不变量原则。 要在螺旋矩阵的过程中,保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作,这就是循环不变量规则。 而求解本题依然是要坚持循环不变量原则。 模拟顺时针画矩阵的过程: 填充上行从左到右 填充右列从上到下 填充下行从右到左 填充左列从下到上 由外向内一圈一圈这么画下去。 可以发现这里的边界条件非常多,在一个循环中,如此多的边界条件,如果不按照固定规则来遍历,那就是一进循环深似海,从此offer是路人

2022-03-21 16:50:56 437

原创 c和java为什么使用low + (high - low) / 2而不使用(high + low) / 2呢

为了防止溢出 代码如下 int a=2147483647,b=1;//a为int型允许的最大数值 System.out.println((a+b)/2);//-1073741774溢出 System.out.println((a-b)/2+b);//1073741873正常

2022-03-17 16:00:53 151

原创 二分查找 java实现以及注意事项 力扣letcode二分查找题目汇总

public static int search(int[] nums, int target) { int min=0,max=nums.length-1,mid; while(min<=max) {//-1,0,3,5,9,12 mid=(min+max)/2; System.out.println(min+"--"+max); if (target==nums[mid])

2022-03-16 15:18:36 6374

原创 idea maven web项目,修改web.xml(Servlet或filter配置)后,打开网页显示源代码问题的解决方案

问题:使用idea中通过浏览器图标打开后,网页显示源代码,而且地址也是项目实际部署地址。 原因:idea中浏览器图标只能解析静态代码,如果web.xml更改,就不能使用 解决方案:通过URL+自己的jsp文件地址()eg:http://localhost:8081/_20211017javaweb_war_exploded/index.jsp ...

2021-11-16 20:07:18 1953

原创 模块化

注意:!!!exports 包名 requires 模块名 服务模块的引用

2021-10-16 21:48:47 112

原创 零基础学反射笔记

反射概述 Class就是类的镜像 获取Class类对象三种方法 反射获取构造方法并使用 练习 暴力反射 当构造函数为私有时,使用setAccessible() 可以访问私有成员 Class获取成员变量并使用 Class<?> aClass = Class.forName("Students.Student"); Constructor<?>[] constructors = aClass.getConstructors(); // f

2021-10-16 15:03:12 113

原创 Stream流以及常见中间和结束操作方法

arry.stream().filter(s->s.length()==3).filter((String s)->{return s.startsWith("张");}).forEach(s-> System.out.println(s)); Stream流的生成操作 filter()过滤

2021-10-15 22:16:38 1395

原创 常用函数式接口之Supplier接口、Consumer接口、Predicate接口、Function接口

Supplier Consumer 上面两句的效果和下面一句是一样的

2021-10-14 20:23:39 146

原创 函数式接口概述

函数式接口概述 函数式接口就是lambda表达式的使用前提

2021-10-08 18:39:59 124

原创 方法引用四个方法

public class fangfaDemo { public static void main(String[] args) { useint(i->{ System.out.println(i); }); useint(System.out::println); //相当于把printlin方法 当成实例化方法和lambda作用一样 } private static void useint(fan.

2021-10-08 16:06:11 145

原创 Lambda综述

Lambda表达式标准格式 标准格式:(形参)->{代码块} 形参:如果有多个参数,参数间用逗号隔开,若没有参数,留空即 可 Lambda使用前提 正常方法、匿名内部类、Lambda表达式 抽象方法无参无返回值 public static void main(String[] args) { EatableImpl impl=new EatableImpl(); impl.eat();//正常 useeat(new EatableDemo() {.

2021-09-25 19:51:28 122

原创 生产者和消费者

2021-09-24 17:45:59 124

原创 线程安全的类 StringBuffer Vector Hashtable

StringBuffer一般在正常使用 StringBuffer sb=new StringBuffer(); StringBuilder db2=new StringBuilder(); Vector<String> vec=new Vector<>(); ArrayList<String> arry=new ArrayList<>(); Hashtable<String,Strin.

2021-09-24 16:52:53 197

原创 多线程 安全问题解决方法 Lock锁

Thread类实现方法 public static void main(String[] args) { Threaddemo d1=new Threaddemo("大炮"); Threaddemo d2=new Threaddemo("飞机"); d1.start(); d2.start(); } public class Threaddemo extends Thread { @Override public

2021-09-24 16:01:10 134

原创 集合类大家族、迭代器、迭代器并发控制异常、

1 Collection集合 迭代器 iterator常用操作

2021-09-23 21:11:10 104

原创 Map集合学习笔记

Map集合概述 Map基本方法 Map获取方法 Map<String,String> map=new HashMap<>(); map.put("aaa","123"); map.put("bbb","456"); map.put("ccc","789"); map.put("ddd","852"); System.out.println(map.get("aaa"));//123

2021-09-23 21:10:28 142

原创 可变参数学习笔记(int ...a可接受可变的参数)

注:如果方法出现多个参数,应把可变参数放在参数最后面 private static int sum(int ...a){ int num=0; for(int i:a) { num+=i; } return num; } public static void main(String[] args) throws ScoreException { System.out..

2021-09-22 09:22:40 128

原创 泛型学习笔记

一.泛型概述 泛型类的定义格式 泛型方法定义格式 泛型接口定义格式

2021-09-22 08:41:01 91

原创 内部类学习笔记

内部类访问特点:内部类可以直接访问外部类的成员,包括私有 外部类要访问内部类的成员,必须创建对象 外界调用成员内部类方法:outer.inner oi=new outer().new inner();//但一般不建议这样做,因内部类本来就不想给外界看。 成员内部类:内部类是外部类的成员 ...

2021-09-18 20:26:55 93

原创 static访问特点

static类型的变量被类的所有对象共享

2021-09-18 20:26:33 113

原创 增强for循环

注:增强for循环的底层原理是iterator迭代器,所以要小心并发修改异常。 并发性异常示例 List<String> list=new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); ListIterator<String> stringListIterator = list.listI.

2021-09-18 09:09:10 115

原创 异常体系 throws 和 try catch 自定义异常类

异常体系 异常处理 throws处理,出现异常直接扔到控制台,不能继续执行程序 try catch 还可以继续执行程序 自定义异常类 只要是继承了Exception or RuntimeException 的类都是自定义异常类

2021-09-14 10:46:44 105

原创 Date和simpledateformat类

Date类的常用方法 Date d=new Date(); SimpleDateFormat sdf=new SimpleDateFormat(); String s=sdf.format(d); System.out.println(s);//2021/9/14 上午9:13 SimpleDateFormat sdf1=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss"); St.

2021-09-14 09:32:25 121

原创 基本类型包装类、int--string互相转换、自动拆箱和装箱

public static void main(String[] args) { Integer i1=new Integer(100); Integer i2=new Integer("500"); System.out.println(i1); System.out.println(i2); Integer i3=Integer.valueOf(100); Integer i4=Integer.value..

2021-09-11 11:25:22 175

原创 Math类、system、object类、Arrays类常用方法、工具类设计思路

工具类设计思路:构造方法:private 防止别人访问 成员方法:public static 可以通过类名调用

2021-09-11 11:13:32 117

原创 接口和Java 8 9的新特性

以门为实例,门有开门,关门,报警三个方法 如果用抽象类,那么每个实例化的门都必须有三种方法,现实是有的门没报警功能 如果用接口

2021-09-08 21:28:12 137

原创 抽象类注意事项

public abstract class Animal { public int age=10; public abstract void eat(); 在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类 } 特点

2021-09-08 20:52:42 105

原创 多态的区分

public class Cat extends Animal { public int age=20; public void eat(){ System.out.println("猫吃鱼"); } } public class Animal { public int age=10; public void eat(){ System.out.println("动物吃东西"); } } public class inp.

2021-09-07 21:42:47 117

原创 包权限修饰符的访问关系 final在变量 方法 类中的作用

2021-09-07 19:26:37 90

原创 继承的格式和this super用法 构造方法访问特点,继承注意事项

2021-09-07 10:38:42 105

原创 StringBuilder

常规string,会浪费堆内存空间 stringbuilder 可变的,不会浪费空间 stringbuilder方法: append()添加数据,并返回数据本身(可链式编程) System.out.println(sb+" "); sb.append("a").append("b").append("c"); System.out.println(sb);//sb=abc reverse():返回一个相反的字符序列 string 与stringbuilder相互转换

2021-09-07 09:44:01 173

转载 next和nextline区别

//next()和nextLine()的区别详解 /*next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其过滤掉;只有在读取到有效字符之后,next()方法才将其后的空格键、Tab键或Enter键等视为结束符;所以next()方法不能得到带空格的字符串。 */ /*nextLine()方法字面上有扫描一整行的意思,它的结束符只能是Enter键,即nextLine()方法返回的是Enter键之前没有被读取的所有

2021-09-07 08:55:34 252

mysql-installer-community-5.7.36.1.msi

mysql exe文件下载

2021-11-18

空空如也

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

TA关注的人

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