- 博客(13)
- 收藏
- 关注
原创 Java集合之Set集合
哈希表的底层是数据库加链表的结构,当我们向Set集合中添加元素时,底层会通过hashCode方法来获取该元素的哈希码值,再将获取到的哈希码值对数组长度减一进行取余操作,从而获得元素在数组中存放的位置,当有相同元素存放时,它们的存放地址一致,这时会先判断当前位置是否有值,如果有值,就会通过调用equals方法来比较两者内容是否相同,如果相同就会放弃存放,如果不同就会在当前存放元素的后面链表存放。1.首先Set集合中的元素是无序-存放和取出元素不按顺序(这里的顺序指的是存放的顺序)
2024-09-05 21:33:19
243
原创 Java集合之List集合
首先,我们需要知道List并不是一个类而是一个Collection的子接口,如果我们想要使用List集合,那么我们需要使用List接口对应的实现类。利用集合的foreach方法,传入一个Consumer的接口实现类对象。2.元素有下标-可以通过下标来访问集合中元素。1.元素有序-元素存放和取出顺序一致。子遍历过程中无法使用累加器和标识变量。3.元素可以重复-可以存放相同元素。这种方法可以使用Lambda来简化。只有下标遍历过程中可以增加删除元素。这种方法需要先创建迭代器对象。
2024-08-28 17:59:41
387
原创 SQL注入攻击
占位符来书写拼接sql就可以解决这个问题,因为使用?占位符之后会先将sql语句发送到数据库进行预编译,这样做保证了sql原有语法结构的正常执行,不会让特殊字符影响sql语句原有结构执行。通过输入特殊的参数拼接SQL语句,进而破坏原有的SQL语句的含义,然后非法获取数据库数据或者进行非法数据库操作,是一种常见的web安全漏洞。通常在jdbc中sql注入攻击是发生在使用字符串拼接来书写sql中参数的情况。
2024-08-27 21:02:29
177
原创 JDBCTemplate与数据库进行交互
2.第二种是在第一种的基础上对RowMapper进行了进一步的简化,通过传入BeanPropertyRowMapper实现类对象进行查询,这个实现类是RowMapper的接口实现类,它内部实现了RowMapper接口,对它进行了进一步的封装。它的操作是需要传入对应实体类的类对象,底层代码会通过反射将数据库返回的数据映射成为对象。相较于使用原生JDBC技术连接数据库,使用JDBCTemplate技术简化了操作。
2024-08-27 20:06:56
203
原创 算法训练——礼物
学习分享【问题描述】JiaoShou在爱琳大陆的旅行完毕,即将回家,为了纪念这次旅行,他决定带回一些礼物给好朋友。在走出了怪物森林以后,JiaoShou看到了排成一排的N个石子。这些石子很漂亮,JiaoShou决定以此为礼物。但是这N个石子被施加了一种特殊的魔法。如果要取走石子,必须按照以下的规则去取。每次必须取连续的2*K个石子,并且满足前K个石子的重量和小于等于S,后K个石子的重量和小于等于S。由于时间紧迫,Jiaoshou只能取一次。 现在JiaoShou找到了聪明的你,问他最多可以带走多少
2022-04-02 08:52:13
621
原创 java省赛B组——时间显示
学习分享问题:小蓝要和朋友开发一个时间显示的网站,在服务器上朋友已经获取了当前的时间用一个整数表示,值为从1970年1月1日到现在经过的毫秒数。现在小蓝要在客户端上显示这个时间,小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒直接舍去。输入输入一行包含一个整数,表示时间。输出输出时分秒表示的当前时间,格式如下:HH:MM:SS,其中H表示时,值为0到23;M表示分,值为0到59;S表示秒,值为0到59;时分秒不足两位时补足前导零。代码如下import java.util.*;publi
2022-04-02 08:40:04
347
原创 杨辉三角形
学习分享这篇是关于杨辉三角的代码,代码的主要作用是给定一个数N,输出此数在杨辉三角中第一次出现时在杨辉三角中的位置(不适用于蓝桥杯)代码如下:import java.util.*;public class b4{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); int N=sc.nextInt(); Long[][] a=new Long[100][]; for(int i=0;i
2022-03-26 20:09:30
681
原创 括号匹配数据结构
学习分享本周学习的是数据结构的括号匹配,所谓括号匹配指的是在命令端输入一行只含有括号的代码,然后运行代码,判断每一个左括号是否有一个右括号与之对应,从而判断输入的数据是否违法代码如下:#define MAXSIZE 100#define OK 1#define ERROR 0#include<iostream>#include<stdio.h>#define OVERFLOW 0using namespace std;typedef char SElemType
2022-03-26 19:52:55
3060
原创 蓝桥杯-java练习-十六进制转八进制
学习分享例题给定n个十六进制正整数,输出它们对应的八进制数。十六进制转八进制首先需要将其转化为二进制,然后再转化为八进制这样计算可以加快
2022-03-19 08:48:26
414
原创 用链表实现一元稀疏多项式相加
学习分享用链表表示多项式时,每个链表结点存储多项式中的一个非零项,包括系数(coef)和指数(expn)两个数据域以及一个指针域(next)。对应的数据结构定义为typedef struct PNode{ float coef; int expn; struct PNode *next;}PNode,*Polynomial;定义完数据结构后我们要创建一个链表并进行相应的初始化,然后在输入时还应该将链表中元素进行排序,排序的原则通过比较多项式的指数expn来进行。代码如下//单个多项式指
2022-03-18 19:56:07
1479
原创 算法初学-二维前缀和
分享计算二维数组前缀和我们需要先了解二位前缀和的计算公式,公式如下:我们令b[i][j]为a[i][j]的前缀和数组b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1]+a[i][j]二位前缀和相较于一维前缀和难度增加了很多,下面用一个例题来解释具体的操作,题目如下:城主小明在王国里圈出一块占地K*K的正方形作为自己的城池希望你选出一块合适的位置,使得他的城池土地价值和最大。输入第一行三个整数N,M,K,表示大陆的宽和长以及占地正方形的边长。接下来有N行,每行M
2022-03-12 09:41:00
852
原创 周学习分享
学习分享快速排序数组void quick_sort(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i &l
2022-03-12 09:06:58
176
原创 2020-12-17
今天是我第一天写博客,这是一个全新的开始,未来的大学生活才刚刚开始,虽然并没有进入理想的学校,但是生活总要向前看,何况现在的生活依旧美好,就让过去的不开心随风飘散,现在又是美好的将来,加油(ง •̀_•́)ง,奥利给!...
2020-12-17 06:59:29
84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人