java
「已注销」
这个作者很懒,什么都没留下…
展开
-
简历内容整理
秋招加油。原创 2022-09-02 09:19:15 · 196 阅读 · 0 评论 -
读写Excel
一.依赖二.创建实体类三.监听器4.读5.写原创 2022-06-01 13:19:18 · 286 阅读 · 0 评论 -
HashMap原码
方便个人查阅。package java.util;import java.io.IOException;import java.io.InvalidObjectException;import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.function.BiConsumer;import java.util.原创 2022-01-04 20:33:51 · 115 阅读 · 0 评论 -
JDBC整理
1.1什么是数据库?DB、DataBase 安装在操作系统之上,数据库是一个软件。 作用:存储数据,管理数据。原创 2021-12-19 21:23:55 · 186 阅读 · 0 评论 -
深度优先搜索/广度优先搜索
来源深度优先搜索算法:(DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。该图的遍历顺序为(默认为左...原创 2021-12-18 19:32:35 · 151 阅读 · 0 评论 -
动态规划_
1. 动态规划的两种形式:用斐波拉契数列的案例来展现。1.1自顶向下的备忘录法建立一个n+1大小的数组,用来保存求出的斐波拉契数列中的每一个值,在递归的时候如果发现前面fib(n)的值计算出来了就不再计算,如果未计算出来,则计算出来后保存在Memo数组中,下次在调用fib(n)的时候就不会重新递归了。public class memorandum { public static int Fibonacci(int n){ int []memory=new int[n原创 2021-12-16 13:16:46 · 899 阅读 · 0 评论 -
双指针算法
快慢指针:快慢指针是指一个指针走的快,一个指针走得慢。 左右指针:左右指针是指双指针中一个指针在数组的最左侧,而另一个在最右侧。通过判断,可以分别让两侧的指针向中间移动,以求解问题。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/squares-of-a-sorted-array给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 :输入:nums = [-4,-1,0,原创 2021-12-14 15:12:19 · 67 阅读 · 0 评论 -
算法:二分查找法
二分查找是一种算法,其输入是一个有序的元素列表(必须是有序的),如果查找的元素包含在列表中,返回其位置,否则返回NULL。35. 搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。class Solution { public int searchInsert(int[] nums, int target) { int left=0; int right=nums.原创 2021-12-11 17:53:07 · 597 阅读 · 0 评论 -
线程课后整理
1.1线程和进程程序本身是一段静态的代码,是应用程序执行的副本。进程: 是指一种正在运行的程序的地址空间。进程的特点: 动态性 ----进程是指程序是一直在运行的 并发性 ----多个进程可同时运行(例如电脑上正在运行的音乐软件、QQ)。 独立性 ----进程和进程之间互相不会产生干扰线程的定义: 进程内部的一个执行单元, 是程序中单一的顺序控制流程 ,如果在一个进程中有多个线程, 用来完成不同的工作,那么称为多线程。进程是系统资源分配的单位 ,其中可以包括多个线程 。 线程是独原创 2021-12-06 17:11:54 · 520 阅读 · 0 评论 -
XML文件、XML解析
version:版本号encoding:编码字符集XML的标签可以自己定义,对大小写敏感,主要用于数据的存储。<?xml version="1.0" encoding="UTF-8" ?><department> <student id="110"> <name>张三疯</name> <age>100</age> </student> &l原创 2021-12-08 18:34:43 · 220 阅读 · 0 评论 -
关于 抽象类 接口的继承实现问题
public interface Jump { void jump();}public abstract class Animal implements Jump{ public abstract void jiao();}public class cat extends Animal{ String name; public cat(){ } public cat(String name){ this.name=.原创 2021-11-24 20:31:48 · 1524 阅读 · 0 评论 -
Java hashMap同键不同值(Person类)
public class test { private HashMap<String,ArrayList<Person>> hashmap=null; public test(){ hashmap=new HashMap<String,ArrayList<Person>>(); } public void add(Child p){ ArrayList persons=hashmap.get.原创 2021-11-24 13:18:02 · 487 阅读 · 0 评论 -
Java单例模式(不讨论反射)
一. 特点单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同原创 2021-11-23 13:15:13 · 55 阅读 · 0 评论 -
剑指 Offer 64. 求1+2+…+n
作者:LeetCode-Solution链接:https://leetcode-cn.com/problems/qiu-12n-lcof/solution/qiu-12n-by-leetcode-solution/来源:力扣(LeetCode)通常实现递归的时候我们都会利用条件判断语句来决定递归的出口,但由于题目的限制我们不能使用条件判断语句,那么我们是否能使用别的办法来确定递归出口呢?答案就是逻辑运算符的短路性质。以逻辑运算符 && 为例,对于 A &&am..原创 2021-11-22 17:26:07 · 175 阅读 · 0 评论 -
IO总结一
一. IO流概念流 -----Stream:字节的序列 ----作用:输入输出的载体字节表示流的最小单位序列:不同的字节的顺序会有不同的结果功能: 上传下载二. InputStream、OutputStreamInputStream表示所有字节输入流的超类OutputStream 表示的是所有字节输出流的超类当read的返回值为-1时 那么表示已经读到流的末尾。Closeable 接口 -----定义关闭流的标准 closeFlushable 接口 ----- 清..原创 2021-11-22 15:36:09 · 469 阅读 · 0 评论 -
563. 二叉树的坡度
作者:LeetCode-Solution链接:https://leetcode-cn.com/problems/binary-tree-tilt/solution/er-cha-shu-de-po-du-by-leetcode-solution-7rha/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。深度优先算法,定义一个记录两个节点差值的和的变量ans,通过递归遍历树,直到找到最底层的点,再返回两个点的和(因为对于下层节点多余2的树..原创 2021-11-19 19:49:15 · 294 阅读 · 0 评论 -
加强for循环和迭代器
先看代码class Solution { public static void main(String[] args) { List<Integer> a=new LinkedList<>(); for (int i=0;i<11;i++){ a.add(i); } System.out.println(a); for (Integer b:a){原创 2021-11-17 19:41:22 · 158 阅读 · 0 评论 -
318. 最大单词长度乘积
链接:https://leetcode-cn.com/problems/maximum-product-of-word-lengths/solution/jian-dan-yi-dong-javac-pythonjsgo-zui-da-ertr/来源:力扣(LeetCode)class Solution { // 位运算 + 预计算 // 时间复杂度:O((m + n)* n)// 空间复杂度:O(n) public int maxProduct(Strin.原创 2021-11-17 19:12:27 · 51 阅读 · 0 评论 -
力扣 391. 完美矩形
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/perfect-rectangle给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形。这个矩形的左下顶点是 (xi, yi) ,右上顶点是 (ai, bi) 。如果所有矩形一起精确覆盖了某个矩形区域,则返回 true ;否则,返回 false 。哈希表精确覆盖意味着:矩形区域中不能有空缺,即矩形区域原创 2021-11-16 20:09:54 · 139 阅读 · 0 评论 -
面试题:Collection和Collections的区别
Collection 是接口 有List 和Set作为它的子接口 提供了增删的方法,用于表示一个类是否属于容器。Collections 是一个类, 是Collection的工具类, 里面会实现一些辅助的方法,如: 排序sort、 反转,等线程安全的方法 。...原创 2021-11-16 12:25:06 · 139 阅读 · 0 评论 -
map实现同键不同值的存储
借助List List<String> list=new LinkedList<>(); list.add("13"); list.add("1"); List<String> list1=new LinkedList<>(); list.add("13"); list.add("1"); list.add("3"); list.原创 2021-11-15 18:26:41 · 289 阅读 · 0 评论 -
Java内部类
一. 定义类与类之间的嵌套关系1.用于描述类与类之间的关系,内部类为外部类的成员2.为了保护类的属性的安全二. 分类2.1 成员内部类把一个类当作类中的成员 非静态的成员内部类中不能出现静态的属性和方法,案例中g()为非静态方法,而主方法为静态方法,因此主方法通过创建外部类的对象,进而创建内部类的对象来调用内部类的方法,而非静态方法g(),则直接调用了内部类的方法。public class test { int i=10; class inter...原创 2021-11-13 21:14:30 · 336 阅读 · 0 评论 -
二叉树 前序 中序 后序
上图简单代表一个二叉树,A、B、C代表三个节点前序遍历:ABC(根节点排最先,然后同级先左后右)。中序遍历:BAC(先左后根最后右)。后序遍历:BCA(先左后右最后根)。图来源:csdn一. 前序排列在addNode()中应该注意:先序遍历的顺序public class Tree { public Node root; public void add(int x){ Node p=new Node(); p....原创 2021-11-13 19:22:53 · 503 阅读 · 0 评论 -
集合课后复习一
一.HashSet关键字:集合、容器、无序、无索引1. 方法1.1 add()添加该集合中没有的元素,如果该元素已存在,则覆盖已有的元素。 HashSet<String> set=new HashSet(); set.add("123");1.2 clear()清空该集合。 set.clear();1.3 contains()如果集合中不包含该元素则返回true。 System.out.println(set.contains("原创 2021-11-12 17:13:22 · 191 阅读 · 0 评论 -
Java二叉树(递归思想、面向对象思想、中序排序)
public class mytree { private Node root; public void add(int x){ Node p=new Node(); p.date=x; if(root==null){ root=p; }else{ root.addNode(p); } } public void sort(){ .原创 2021-11-11 21:25:27 · 379 阅读 · 0 评论 -
try finally return
public static void main(String[] args) { System.out.println(new test().Test());//3 } static int Test(){ int x = 1; try { return x++; } finally { System.out.println("finally块执行:" + +...原创 2021-11-11 19:26:05 · 38 阅读 · 0 评论 -
什么是哈希冲突,怎么解决哈希冲突的问题?
一.哈希表哈希表是一种以键对应值(key-indexed) 来存储数据的结构,只要输入要查找的键即key,即可查找到对应的值。将键作为索引,这样就可以快速访问任意键的值。1.1构造方法原文链接https://blog.csdn.net/qq_40803710/article/details/80945617哈希函数的构造原则是:函数本身便于计算、计算出来的地址分布均匀(即对任意K,f(K)对应不同地址的概率相等)。1.数字分析法:可以从关键如果事先知道关键字集合,并且每个关键字的原创 2021-11-09 17:18:22 · 569 阅读 · 1 评论 -
为什么在重写hashcode方法时 要重写equals方法,两者有什么关系?
为了保证同一个对象 ,如果重写equals方法 没有重写hashcode的话,就会出现equals相等,而hashcode不相等, 重写hashcode方法为了避免这种情况发生。 使用了hashcode方法可以提前校验,可以避免每一次比较都用equals方法从而提高效率。...原创 2021-11-09 16:37:57 · 193 阅读 · 0 评论 -
equals和“==”区别
== 比较的地址, equals 方法定义上 两个对象相同---true String c=new String("123456"); String d=c; System.out.println(c==d);//true String a=new String("123456"); System.out.println(a==c);//false String c=new String("...原创 2021-11-09 16:36:30 · 39 阅读 · 0 评论 -
String的地址问题总结
案例一. String a1=new String("123"); String a2=new String("123"); System.out.println(a1==a2);//false最后输出方法中比较的是a1和a2的地址,两者是两个对象因此地址肯定是不相等的,所以要返回false。 图一.案例二. String...原创 2021-11-09 16:30:22 · 992 阅读 · 0 评论 -
值传递和引用传递
一.值传递一般来说值传递是对于基本类型而言的,将实际参数传递给方法中的形式参数,因为基本数据类型是直接储存在栈空间中的,传递的相当于是拷贝的值,因此改变方法中的形式参数并不影响实际参数。public class Test { public static void main(String[] args) { int a=1; int b=2; int result=add(a,b); System.out.println("原创 2021-11-09 15:54:26 · 121 阅读 · 0 评论 -
类的加载顺序
父类:public class Person { { System.out.println("Person类的方法体"); } static { System.out.println("Person类的static方法体"); } Person(){ System.out.println("Person类的构造函数"); }}子类:public class son extends Perso原创 2021-11-04 16:44:52 · 83 阅读 · 0 评论 -
Java object
一.String方法String长度一定,当长度变化地址一定发生变化看一个类先看类的继承体系所有的引用数据类型都继承Object常见的异常:java.lang.NullPointerException 空指针异常java.lang.StringIndexOutOfBoundsException 字符串索引越界异常构造方法:String(String url);String(char[] c, int offset,int length);String(...原创 2021-11-04 10:40:11 · 102 阅读 · 0 评论 -
Java面向对象的继承
一.子类 父类子类更具体父类更抽象关系 主要使用关键字extends来进行描述两个类之间的继承关系。二.继承的特点:一个父类可以有多个子类,一个子类只能有一个父类 子类可以使用父类的属性和方法,父类不能访问子类独有的属性和方法 创建子类对象时要先调用父类的构造方法,然后再调用子类的构造方法。(无参构造)//父类public class Person { //此类作为父类 private String name; private int age;..原创 2021-10-29 18:44:25 · 98 阅读 · 0 评论 -
冒泡排序法
一.原理冒泡排序法就像是在一个理想化的水池里,大的气泡会浮到水面,而小的气泡在水底。这种算法用嵌套的循环对整个数组进行数次遍历,每次遍历都要比较数组中相邻的一对元素,如果这对元素以升序(或者值相等)的顺序排列,那么保持它们的位置不变;如果这对元素以降序的顺序排列,那么交换他们的值。二.图解三.代码public class Bubbing_01 { public static void main(String[] args) { int a[]=new in.原创 2021-10-28 16:19:43 · 45 阅读 · 0 评论 -
单用户简易ATM
一.设计分为五个类:用户类(Account),工具类(Tool),流程类(Ctrl),测试类(Test),菜单类(Menu)。二.代码1.用户类public class Account { //账户类 private String username;//账户名 private String password;//密码 private double money;//余额 private int state=-2;//状态码 private原创 2021-10-28 16:14:37 · 79 阅读 · 0 评论 -
数组的扩容
System.arraycopy(被复制的数组,起始位置,复制到的数组,起始位置,复制的长度)public class Demo_05 { public static void main(String[] args) { System.out.println("探讨是数组扩容拷贝"); int a[]=new int[5]; for (int i=0;i<5;i++){ a[i]=(int)(1+Math.rando原创 2021-10-24 21:43:27 · 499 阅读 · 0 评论 -
JavaSE总结
一.初始JavaSE1992年底,Java最初的原型Oak产生了1995年正式更名为Java 二.体系结构1.JAVASE Java的基本语法应用 面向对象思想 IO 多线程 反射等2.JAVA2E J2EE JAVAWEB 针对web浏览器产生的应用 淘宝 OA 京东 企业学校的管理系...原创 2021-10-19 12:15:11 · 113 阅读 · 0 评论 -
float类型的取值范围为什么大于long类型
long类型是8个字节64bit,而float类型是4个字节32bit,但是在float类型在内存中不是又十进制直接转化为二进制的,他是按照公式 V=(-1)^s * M * 2^E分配的第一位S即符号位,第二位到第九位为指数域,第十到三十二位为小数域。浮点型通过公式虽然只用到了四个字节,但是浮点数(-3.403E38~3.403E38)的最大值比长整型(-2^63~2^63-1)要大...原创 2021-10-17 12:00:57 · 132 阅读 · 0 评论 -
从String中取某一位字符
Strings="asdfxcvxcvxvsf";chara =str.charAt(0);//取第一位char i=str.charAt(i); //取第i位原创 2021-10-16 20:12:35 · 7165 阅读 · 0 评论