- 博客(481)
- 收藏
- 关注
原创 通过stream流将List转Map
如果你想根据不同的属性(例如名字)来创建Map,你可以提供一个自定义的键选择器。//key生成策略//value生成策略//key生成策略//value生成策略//冲突处理策略。
2026-03-25 10:13:26
76
原创 Java List 根据List中对象的属性值是否相同作为同一组,分割成多个连续的子List
【代码】Java List 根据List中对象的属性值是否相同作为同一组,分割成多个连续的子List。
2026-03-19 11:14:57
96
原创 Mybatis-Plus增强库之Mybatis-Plus-Join联表查询
1、什么是-plus-join?(简称 MPJ)是一个的增强工具,在 MyBatis-Plus 的基础上添加了连表功能,只做增强不做改变,为简化开发、提高效率而生。
2026-03-12 09:27:37
424
原创 Springboot学习之SpringBoot2.6.3集成knife4j-openapi3(五十五)
可以看到整个过程符合我们的预期,这里的代码示例是我整个项目的部分,里面有些代码和配置是你在学习中不需要的,请读者切记盲目抄袭死记代码,理解其中的的关键有用代码和配置才是我们学习的重点,我们下次再见。做过开发的同学知道,我们的接口除了登录注册等接口以外,其他所有接口都是需要通过Token拦截器拦截校验合法以后才可以继续放行的,knife4j-openapi3支持全局header参数配置。以下是我的个人项目的POM文件,里面有一些是你们用不上的,请酌情筛选选择。
2026-03-05 10:53:48
54
原创 SpringCloudAlibaba实战入门之Nacos3.1.1下载安装和启动(三)
5、进入登录页面提示输入账号密码,默认账号是nacos,默认密码没有。这里建议安装JDK8以上版本并正确配置环境变量,这里就不做赘叙了,不清楚的网友请自行百度搜索。这样nacos就成功配置并运行成功了,今天的内容到此结束,我们下回再见。1、进入到Nacos的这个目录下,在红色框中输入cmd然后回车。1、在mysql数据库中创建一个叫nacos的数据库。4、访问nacos页面,就是截图中这个地址。Nacos本质是一个Java应用程序。,点击进入找到下载,进入到如下页面。2、执行Nacos提供的数据库脚本。
2026-02-26 15:24:10
251
原创 SpringBoot学习之easypoi导出Excel表格(五十四)
自定义表头导出有两种方式:一种是基于ExcelExportEntity对象,优点是灵活多变,缺点是代码繁琐;一种是基于注解(@Excel@ExcelEntity@ExcelCollection等),优点是代码简单,缺点是某些复杂表头不一定能完美支持。
2026-02-25 11:08:28
102
原创 SpringBoot学习之Springboot3整合knife4j-openapi3(五十三)
项目环境:Springboot3.0.0,Mybatis-Plus3.5.8,knife4j4.4.0,JDK17。
2026-02-13 23:15:34
323
1
原创 SpringBoot学习之统一异常拦截和封装(五十二)
*** 功能描述:*/@Data@ApiModel("返回参数对象")@ApiModelProperty("返回基本信息")@ApiModelProperty("返回数据")@Data@Expose@Getter@ApiModelProperty("返回状态码,0-失败;1-成功")@Getter@ApiModelProperty("返回对应的信息")@Getter。
2026-02-10 15:59:55
53
原创 SpringBoot学习之直接使用枚举Enum(基于Mybatis-Plus)(五十一)
在 MyBatis-Plus 中,若希望枚举类型返回(描述信息)而不是枚举名称或值,可以通过以下方式实现。
2026-02-05 09:39:27
135
原创 Windows杀死占用端口和对应进程的批处理文件脚本
以后假如端口被占用,再也不用网上搜繁琐的端口查询和杀死进程命令了,打开这个批处理命令输入端口即可一秒解决该问题。
2026-01-07 09:42:14
442
转载 RedisTemplate使用详解之opsForZSet()(五)
增加key对应的集合中元素v1的score值,并返回增加后的值。获取指定score区间的值,然后从给定下标和给定长度获取最终值。向指定key中添加元素,按照score值由小到大进行排列。向指定key中添加元素,按照score值由小到大进行排列。获取集合的大小,地层调用的还是 zCard(K key)获取key对应集合中o元素的score值。获取指定元素在集合中的索引,索引从0开始。获取倒序排列的索引值,索引从0开始。移除指定score区间内的值。获取指定score区间的值。获取指定下标之间的值。
2025-12-25 10:39:33
139
转载 RedisTemplate使用详解之opsForSet()(四)
获取key集合与另一个otherKey集合之间的交集元素,并将其放入指定的destKey集合中。获取key集合与其他otherKeys集合之间的交集元素,并将其放入指定的destKey集合中。获取key与另一个otherKey所对应的集合之间的差值,并将结果存入指定的destKey中。获取key与另外一些otherKeys集合之间的差值,并将结果存入指定的destKey中。获取两个集合之间的合集,并放入指定key对应的新集合中。获取多个集合之间的合集,并放入指定key对应的新集合中。
2025-12-25 10:27:11
144
转载 RedisTemplate使用详解之opsForHash()(三)
如何key对应的map不存在,则新增到map中,存在则不新增也不覆盖。使key对应的map中,键var2对应的值以double类型d1自增。获取key对应的map中,key为var2的map的对应的值。使key对应的map中,键var2对应的值以long1自增。获取指定key对应的map集合中,指定键对应的值的长度。直接以map集合的方式添加key对应的值。判断key对应的map中是否有指定的键。获取key对应的map中所有的键。获取key对应的map中所有的值。删除key对应的map中的键值对。
2025-12-25 10:03:46
145
转载 RedisTemplate使用详解之opsForList()(二)
截取下标long1和long2之间的值,包括long1和long2对应的值,并将其保留为key对应的新值。当long1为正且在下标存在其中,long2为负数时,只要两个没有重叠,相当于去左去右,保留了中间的部分。当long1为正且在下标存在其中,long2为负数时,只要两个交叉重叠,截取为空,如下图。指定过期时间后,移除k1中最右的值,并将移除的值插入k2中最左侧(同上)当long1为负时(此时与long2无关),都会截取为空,key会被删除。移除k1中最右的值,并将移除的值插入k2中最左侧。
2025-12-25 09:46:14
191
转载 RedisTemplate使用详解之opsForValue()(一)
以递减的方式(默认为1)将long值存储在变量中(value为其他类型时报错,Double也不行,只能为Long),返回最新值。以指定递减量递减的方式将long值存储在变量中(value为其他类型时报错,Double也不行,只能为Long),返回最新值。如果key不存在则新增,同时设置过期时间,key存在不做任何操作。如果key不存在则新增,同时设置过期时间,key存在不做任何操作。如果key存在则修改,同时设置过期时间,key不存在不做任何操作。获取key对应的值,如果key存在则修改,不存在则新增。
2025-12-24 16:32:34
223
原创 SpringBoot学习之easypoi实现导入导出(基于Mybatis-Plus)(五十)
***/@Data@ApiModel("设备信息主表")/*** id 主键自增*/@ApiModelProperty("主键")@Excel(name = "主键", width = 20)@ApiModelProperty("组织名称")@Excel(name = "组织名称", width = 30)@ApiModelProperty("编码")@Excel(name = "编码", width = 20)
2025-11-03 11:40:34
126
原创 SpringBoot学习之shardingsphere实现分库分表(基于Mybatis-Plus)(四十九)
ShardingSphere是一款起源于当当网内部的应用框架。2015年在当当网内部诞生,最初就叫ShardingJDBC。2016年的时候,由其中一个主要的开发人员张亮,带入到京东数科,组件团队继续开发。在国内历经了当当网、电信翼支付、京东数科等多家大型互联网企业的考验,在2017年开始开源。并逐渐由原本只关注于关系型数据库增强工具的ShardingJDBC升级成为一整套以数据分片为基础的数据生态圈,更名为ShardingSphere。到2020年4月,已经成为了Apache软件基金会的顶级项目。
2025-02-06 14:00:12
511
原创 IDEA中Resolving Maven dependencies卡着不动解决方案
通常位于Maven安装目录下的conf文件夹中,或者在用户目录下的.m2文件夹中(如果用户自定义了settings.xml的位置)。Maven配置阿里云仓库主要通过修改Maven的settings.xml文件来实现。打开settings.xml文件,在<mirrors>标签内添加阿里云Maven仓库的镜像配置。通过以上步骤,你可以成功配置Maven以使用阿里云的仓库,从而加快依赖的下载速度。完成编辑后,保存对settings.xml文件的更改,并关闭文件。标签中添加阿里云的仓库地址。
2025-02-06 11:46:11
2176
原创 【番外篇】排列组合实现算法2(Java版)
排列组合算法有一定的难度,并不能用一般的多重嵌套循环解决,没有提前做针对性的学习和研究,考试时候肯定是事倍功半,所以今天我们专门出一篇文章来讲一下这个问题。假设袋子里有编号为1,2,...,m这m个球。现在每次从袋子中取一个球几下编号,放回袋中再取,取n次作为一组,枚举所有可能的情况。假设袋子里有编号为1,2,...,m这m个球。先后从袋子中取出n个球,依次记录编号,枚举所有可能的情况。从m个球里(编号为1,2,3...,m)一次取n个球,其中m>n,记录取出球的编号,枚举所有的可能性。
2025-01-22 16:24:58
565
原创 HJ40 统计字符(Java版)
您可以参阅下表获得其详细信息。在一行上输入一个长度为 1≦length(s)≦10001≦length(s)≦1000 的字符串。对于给定的由可见字符和空格组成的字符串,统计其中英文字母、空格、数字和其它字符的个数。简单 通过率:49.48% 时间限制:1秒 空间限制:32M。第一行输出一个整数,代表字符串中英文字母的个数。第四行输出一个整数,代表字符串中其它字符的个数。第二行输出一个整数,代表字符串中空格的个数。第三行输出一个整数,代表字符串中数字的个数。
2025-01-22 14:52:26
372
原创 HJ108 求最小公倍数(Java版本)
对于给定的两个正整数 a,b,它们的最小公倍数 lcm(a,b) 是指能同时被 a 和 b 整除的最小正整数。简单 通过率:37.19% 时间限制:1秒 空间限制:32M。在一行上输入两个整数 a,b(1≦a,b≦105)。求解 lcm(a,b)lcm(a,b)。输出一个整数,表示 lcm(a,b)。
2025-01-21 18:05:44
449
原创 HJ106 字符逆序(Java版)
在一行上输入一个长度为 1≦len(s)≦10^4、由小写字母和空格混合构成的字符串 ss。简单 通过率:43.44% 时间限制:1秒 空间限制:32M。对于给定的由小写字母和空格混合构成的字符串 ss,将其翻转后输出。输出一个字符串,表示将输入字符串 s 翻转后的结果。保证给定的字符串 s 的首尾不为空格。
2025-01-21 16:57:29
401
原创 HJ107 求解立方根(Java版)
中等 通过率:26.26% 时间限制:1秒 空间限制:32M。待求解参数,为double类型(一个实数)计算一个浮点数的立方根,不使用库函数。数据范围:∣val∣≤20。
2025-01-21 16:35:35
457
原创 【番外篇】排列组合实现算法1(Java版)
在牛客网的很多算法试题中,很多试题底层都是基于排列组合算法实现的,比如最优解、最大值等常见问题。排列组合算法有一定的难度,并不能用一般的嵌套循环解决,没有提前做针对性的学习和研究,考试时候肯定是事倍功半,所以今天我们专门出一篇文章来讲一下这个问题。组合(Combination)是指从一组元素中选取指定数量的元素,不考虑顺序。排列(Permutation)是指将一组元素进行重新排序。
2025-01-21 15:35:25
358
原创 HJ32 密码截取(Java版)
比如进行下列变化 "ABBA"→"12ABBA" 、"ABA"→"ABAKK","123321"→"51233214"。因为截获的串太长了,而且存在多种可能的情况( "abaaab" 可看作是 "aba"或 "baaab" 的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗?Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些 "ABBA" 、"ABA" 、"A" 、"123321"。
2025-01-21 09:27:04
472
原创 HJ48 从单向链表中删除指定值的节点(Java版)
∙ ∙在2后插入7,得到链表[2,7,3,1,5,4];随后,删除值为22的节点,得到链表[7,3,1,5,4]。∙ ∙在4后插入1,得到链表[2,5,3,4,1];∙ ∙在5后插入4,得到链表[2,3,1,5,4];∙ ∙在2后插入5,得到链表[2,5,3,4];随后,删除值为3的节点,得到链表[2,5,4,1]。∙ ∙在1后插入5,得到链表[2,3,1,5];∙ ∙在3后插入4,得到链表[2,3,4];
2025-01-20 11:09:49
1089
原创 HJ38 求小球落地5次后所经历的路程和第5次反弹的高度(Java版)
具体来说,设您的答案为aa,标准答案为bb,当且仅当∣a−b∣max(1,∣b∣)≦10−6max(1,∣b∣)∣a−b∣≦10−6时,您的答案将被接受。第一次反弹高度为0.50.5米,第二次反弹高度为0.250.25米,第三次反弹高度为0.1250.125米,第四次反弹高度为0.06250.0625米,第五次反弹高度为0.031250.03125米。假设有一个小球从hh米高度自由落下,我们不考虑真实的物理模型,而是简洁的假定,该小球每次落地后会反弹回原高度的一半;
2025-01-18 02:07:57
450
原创 HJ37 统计每个月兔子的总数(Java版)
有一种兔子,从出生后第三个月起,每个月都会生一只兔子,生出来的兔子同理。第五个月时,r0r0再生一只兔子,与此同时r1r1也开始生兔子,此时兔子总数为55。第三个月时,r0r0开始生兔子(记生出来的兔子为r1r1),此时兔子总数为22。第一个月时,只有初始兔子(记为r0r0),此时兔子总数为11。简单通过率:42.17%时间限制:1秒空间限制:32M。第四个月时,r0r0再生一只兔子,此时兔子总数为33。
2025-01-18 01:38:52
491
原创 HJ35 蛇形矩阵(Java版)
具体的构造方法为,从11开始填充自然数,记第ii行第11列的元素为ai,1=kai,1=k,将其右上角的元素ai−1,2,ai−2,3,⋯ ,a1,iai−1,2,ai−2,3,⋯,a1,i依次赋值为k+1,k+2,⋯ ,k+i−1k+1,k+2,⋯,k+i−1,随后,将ai,2ai,2赋值为k+ik+i,并重复上述过程,直到填满上三角范围n(n+1)22n(n+1)个格子。在一行上输入一个整数n(1≦n≦100)n(1≦n≦100)代表矩阵的大小。
2025-01-18 01:21:02
401
原创 HJ4 字符串分隔(Java版)
在一行上输入一个长度1≦length(s)≦1001≦length(s)≦100,由小写字母和数字混合构成的字符串ss。特别地,如果最后一行不满88个字符,则需要在字符串末尾补充00,直到长度为88。在这个样例中,字符串长度为1313,因此需要在第二行末尾补充33个00。简单通过率:26.94%时间限制:1秒空间限制:32M。输出若干行,每行输出88个字符,代表按题意书写的结果。∙ ∙书写接下来的88个字符,换行;∙ ∙书写前88个字符,换行;
2025-01-17 23:47:45
529
原创 HJ34 图片整理(Java版)
在一行上输入一个长度为1≦length(s)≦1031≦length(s)≦103,仅由大小写字母和数字构成的字符串ss,代表输入的字符串。对于给定的由大小写字母和数字组成的字符串,请按照ASCIIASCII码值将其从小到大排序。如果您需要了解更多关于ASCIIASCII码的知识,请参考下表。简单通过率:53.29%时间限制:1秒空间限制:32M。在一行上输出一个字符串ss,代表排序后的答案。
2025-01-17 17:01:07
455
原创 HJ23 删除字符串中出现次数最少的字符(Java)
在一行上输入一个长度为1≦length(s)≦201≦length(s)≦20,仅由小写字母构成的字符串ss,代表待处理的字符串。对于给定的仅由小写字母构成的字符串,删除字符串中出现次数最少的字符。输出删除后的字符串,字符串中其它字符保持原来的顺序。在这个样例中,出现次数最少的字符为‘b’‘b’和‘c’‘c’,因此需要同时删除这两个字符。简单通过率:36.26%时间限制:1秒空间限制:32M。特别地,若有多个字符出现的次数都最少,则把这些字符都删除。
2025-01-17 16:43:33
261
原创 HJ31 单词倒排(Java版)
在一行上输入若干个字符串,每个字符串长度为1≦length(s)≦201≦length(s)≦20,仅由大小写字母构成,代表一个单词。对于给定的若干个单词组成的句子,每个单词均由大小写字母构成,单词间使用非字母字符分隔。输出以单词为单位逆序排放的结果,即仅逆序单词间的相对顺序,不改变单词内部的字母顺序。在一行上输出一个句子,代表以单词为单位逆序排放的结果。特别地,在输出结果中,去除原有的分隔符,转而使用单个空格间隔单词。简单通过率:26.78%时间限制:1秒空间限制:32M。
2025-01-17 15:25:34
499
原创 HJ15 求int型正整数在内存中存储时1的个数(Java版)
∙ ∙十进制(10)10(10)10等于二进制(1010)2(1010)2。∙ ∙十进制(8)10(8)10等于二进制(1000)2(1000)2;∙ ∙十进制(9)10(9)10等于二进制(1001)2(1001)2;∙ ∙十进制(2)10(2)10等于二进制(10)2(10)2;∙ ∙十进制(3)10(3)10等于二进制(11)2(11)2;∙ ∙十进制(1)10(1)10等于二进制(1)2(1)2;
2025-01-17 14:51:34
561
原创 HJ13 句子逆序(Java版)
对于给定的若干个单词组成的句子,每个单词均由大小写字母混合构成,单词间使用单个空格分隔。输出以单词为单位逆序排放的结果,即仅逆序单词间的相对顺序,不改变单词内部的字母顺序。除此之外,保证每个单词非空,由大小写字母混合构成,且总字符长度不超过103103。在一行上输入若干个字符串,每个字符串代表一个单词,组成给定的句子。简单通过率:43.35%时间限制:1秒空间限制:32M。在一行上输出一个句子,代表以单词为单位逆序排放的结果。
2025-01-17 14:41:02
348
原创 HJ11 数字颠倒(Java版)
对于给定的非负整数nn,将其以字符串的形式颠倒后输出。这意味着,如果nn的末尾含00,那么返回的字符串开头也需要含00。在一行上输入一个非负整数n(0≦n<230)n(0≦n<230)代表给定的整数。简单通过率:59.46%时间限制:1秒空间限制:32M。在一行上输出一个字符串,代表颠倒后的数字。
2025-01-17 14:30:42
510
原创 HJ10 字符个数统计(Java版)
备注:受限于输入,本题实际输入字符集为ASCIIASCII码在3333到126126范围内的可见字符。在一行上输入一个长度1≦length(s)≦5001≦length(s)≦500的字符串ss,代表给定的字符串。在一行上输出一个整数,代表给定字符串中ASCIIASCII在00到127127范围内的不同字符的个数。对于给定的字符串,统计其中的ASCIIASCII在00到127127范围内的不同字符的个数。
2025-01-17 14:24:23
535
原创 HJ22 汽水瓶(Java版)
∙ ∙第三轮兑换,刚刚余下11个空瓶、加上刚刚兑换的11瓶汽水喝完、再找老板借11个空瓶,共有33个空瓶。可以换11瓶汽水,余下00个空瓶。在一行上输入一个整数n(0≦n≦100)n(0≦n≦100),代表小张手上的空汽水瓶数量。特别地,n=0n=0代表输入结束,您只需要立即退出,不需要针对这种情况进行处理。∙ ∙第二轮兑换,刚刚余下11个空瓶、加上刚刚兑换的33瓶汽水喝完,共有44个空瓶。对于第一组测试数据,共有33个空瓶,可以换11瓶汽水。
2025-01-17 14:08:49
487
原创 HJ9 提取不重复的整数(Java版)
在这个样例中,先将数字倒序,得到37667893766789,然后去除重复数字,得到3768937689。对于给定的正整数nn,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。在一行上输入一个正整数n(1≦n≦108)n(1≦n≦108)代表给定的整数。入门通过率:46.73%时间限制:1秒空间限制:32M。在一行上输出一个整数,代表处理后的数字。保证nn的最后一位不为00。
2025-01-17 14:02:21
412
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅