- 博客(17)
- 收藏
- 关注
原创 集图案算法训练
dp[i][j]表示用i+1张印章集齐j+1种印章的概率,分两种:第一种前i张集齐了j+1种第i+1张可以是j+1中任意的dp[i-1][j]*((j+1)*p)第二种是前i张集齐了j种,第i+1张拿到了其余(n-j)中的一种dp[i-1][j-1]*(n-j)*p即dp[i-1][j-1]*(n-j)*p.则dp[i][j]=dp[i-1][j]*((j+1)*p)+dp[i-1][j-1]*(n-j)*p;则dp[2][1]=dp[1][1]*(2*p)+dp[1][0]*((n-1)*p)
2024-03-13 18:32:01
325
原创 java高级
获取带参数的构造器就在小括号内加上String.class或者int.class(相应参数类型.class)反射可以破坏封装性。通过setAccessible方法。此处用来写代理对象要做的事情}
2024-03-13 12:39:31
159
原创 文件操作java
2.inputStream(把文件中的内容输出到java程序中)java程序创建之间的管道。程序中表面只写了一个read()方法进入内部可以看出他一次读取最大8192个字节。String.getBytes可以将字符串转为字节数组再用write往外写。即默认情况下不能追加写入,要想追加可以在构造方法参数中加上 true 参数。注意一个细节,输出流关联文件,文件如果存在会先将文件清空。因为底层是一个固定大小的数组,数组满了才会传输数据。字节流 也叫万能流,因为计算机底层以字节为单位。九、properties。
2024-03-10 20:05:45
193
1
原创 java列表与集合
add()时先调用hashcode方法拿到一个整型值,如果该位置没有数据直接存入(数组的下标可理解为座位号),若有数据再调用equals(),比较内容是否完全一致,达到去重效果。如果流中的数据为自定义的(eg Student)则要重写hashcode和equals方法。3.扩展容量不方便,采用动态存储分配时,拓展长度的时间复杂度也比较高。put(k,v)将k,v用entry对象封装,跟值无关,只与键有关。双列集合底层的数据结构,都只针对键有效,跟值没关系。2.存储密度高,每个节点只存储数据元素。
2024-03-07 21:42:12
221
1
原创 【无标题】
一、递归二、异常1.error严重级别的错误运行时异常编译时异常 抛出时必须throws抛出解决方案1.子父类都抛异常2.trycache在子类中(推荐)三、集合remove()和contains()底层依赖equals方法需要重写在javabean中四、迭代器遍历集合先用集合对象.iterator()方法创建迭代器对象,循环遍历集合对象.hasNext()判断集合中是否还有元素,有就进入集合用next()取出集合元素,指针往后移动(每调用一次next()指针都往后移动一下)
2024-03-06 21:08:22
241
1
原创 【无标题】
toString存在的意义就是为了让子类重写该方法,以便返回对象的内容信息而不是地址。equals存在的意义就是让子类方法重写,以便子类自己制定比较规则.四、BigDecimial类(为了解决小数点不精确的问题)推荐使用后两种来创建对象,第一种不能解决精确问题。三、System类(没有构造方法,舔狗类)二、Math类(没有构造方法,工具类)欣赏一下官方重写的equals代码。六、Arrays类(对数组进行操作)Objects继承了Object。1.toString方法内部。
2024-03-04 17:27:36
181
1
原创 java可视化
鼠标监听器 键盘监听器。JLabel创建一小块区域,创建图片对象new ImageIcon(url斜杠变成双斜杠)二、组件(一个小细节,窗体可视化必须放在最后面,等其他组件加载完毕)一、窗体JFrame。
2024-03-03 19:54:45
215
原创 java面向对象
每一个new出来的对象都带有父类的成员变量只是(private)权限不够访问不到不代表不存在,但是也可以通过get方法访问。jdk9中还可以定义private方法只允许同一个大括号{}中的方法调用,提升复用性,减少冗余度。如果子类中新定义方法,(多态)父对象无法调用,则采取“向下转型”Zi zi=(Zi)父类对象。集合不允许有空所以删完一个之后后续的元素会自动补上来导致漏查,可以加i--操作来避免。3.随着类的加载而加载,优先于对象存在。因为this是本类对象调用的,而static不能创建对象.
2024-03-03 15:37:05
141
原创 java常用
因为用双引号创建出来的字符串存在常量池中,而有构造方法new出来的字符串存在堆中,==号比较两个引用类型的变量比较的是地址值,返回false。成员变量,在方法外,有初始化值,在堆内存中,随着对象的创建而创建消失而消失,作用域在所属的大括号中。局部变量,在方法内,需要人为初始化值,在栈内存,随着方法(方法弹栈)出现和消失,作用域:大括号内。eg将test中的数据传到service中,请先在service中编写带参数的构造方法;this介绍:代表当前类对象的引用(地址),谁来调用this,this就代表谁。
2024-03-01 16:22:49
550
1
原创 mybatis基础项目创建
2.创建一个新的springboot工程,选择引入对应的起步依赖(mybatis mysql驱动 lombok),可在创建项目时进行勾选。3.application.properties中引入数据库连接信息。5.准备Mapper接口EmpMapper。4.创建对应的实体类Emp。1.准备数据库表emp。
2024-02-03 17:07:35
176
1
原创 多表查询,
右外连接:select 字段列表 from 表1 right [outer] join 表2 on 连接条件...;显示内连接:select 字段列表 from 表1 [inner] join 表2 on 连接条件......;子查询结果是一行,一行中包含多项结果因此可采用(value1,value2,,,...)此种形式。内连接只查询到A∩B部分,部分情况下要使用外连接完全包含左(右)表数据查询,左右可以互相替换;子查询中返回结果是一列。指的是子查询中返回单个值。3.子查询(嵌套查询)
2024-01-24 17:22:54
350
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人