自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(157)
  • 收藏
  • 关注

原创 在JAVA中使用正则表达式将“48a493d902b5“转成“48:a4:93:d9:02:b5“

本文展示了一个Java字符串格式化示例,使用正则表达式将字符串分割为字符对并插入冒号分隔符。代码通过后向断言(?<=\G.{2})定位每两个字符后的位置,配合负向先行断言(?!$)排除字符串末尾,实现了将"48a493d902b5"转换为"48:a4:93:d9:02:b5"的效果。该方法简洁高效地完成了字符串格式化任务。

2025-12-29 11:31:56 181

原创 在 Java 中将字符序列数组更改为字符串数组或 List<String>

该代码演示了如何将CharSequence数组转换为字符串列表。首先创建包含3个元素的CharSequence数组,然后使用Java 8的Stream API处理:通过Stream.of()创建流,map()方法将每个元素转为字符串,最后collect()收集为List。输出结果为[a, b, c]。这种函数式编程方式简化了集合转换操作,避免了传统循环的繁琐代码。

2025-12-29 10:47:58 67

原创 JAVA找到满足所给条件的数字

摘要:该Java代码实现了求解满足特定条件的方程。给定正数a、x、y,计算z=ax和b=z/y,检查是否满足a+b<z且z<=by的条件。若满足则返回b值,否则返回NaN。示例输入(1,2,5)输出b=0.4,满足所有条件。该方法通过代数转换确保仅需验证两个关键不等式,简化了求解过程。

2025-12-29 10:10:43 191

原创 Mybatis-plus中多个QueryWrapper 作为一个SQL的参数时每个位置参数都一样

本文介绍了如何将两个QueryWrapper参数合并到同一个SQL查询中的解决方案。通过示例代码展示了当直接使用两个QueryWrapper时会出现参数冲突的问题(都使用"ew"别名),并提供了解决方法:1)使用replaceAll方法分别替换Wrapper中的参数前缀为不同别名(如"query1"和"query2");2)在Mapper接口中必须同时传入原始的QueryWrapper对象和替换后的SQL片段字符串,以确保参数绑定正确。该方法适用于

2025-11-27 11:55:27 119

原创 将数字设置为特定的位数格式,并且不改变值的大小

这段Java代码演示了如何将数字格式化为固定6位数的字符串表示。digitsDemo方法通过计算数字的位数,动态调整小数位数以确保总位数为6。测试用例展示了该方法对整数、小数、科学计数法数字的处理效果,输出结果显示所有数字都被成功转换为6位格式。该方法适用于需要统一数字显示位数的场景,如财务计算或科学数据显示。

2025-11-26 15:51:53 136

原创 集合前几个按照某一列排序超过这几个的按照另一列排序

摘要:该代码实现了对酒店列表的特殊排序处理。首先按评论数(plsl)降序排列酒店列表,当列表元素超过3个时,将前2项保持不变,从第3项开始找出预订量(yuds)最高的酒店,将其移至第3位。最终输出排序后的酒店列表,包含名称、预订量和评论数信息。这种排序方式结合了评论数和预订量两个指标,适用于需要突出特定数据的推荐场景。

2025-11-26 10:05:52 205

原创 Java 类的多个泛型类型

本文实现了一个类型安全的泛型存储库(Repository)类。该类采用单例模式,通过Class对象作为键来管理不同类型的Set集合。核心方法包括: addRepository() - 添加指定类型的新存储空间 getRepository() - 获取特定类型的集合实例 实现特点: 使用类型令牌(Class<T>)确保类型安全 线程安全的单例实现 防止重复添加相同类型的保护机制 运行时类型检查确保转换安全 示例展示了如何存储String和Integer类型的数据集合。这种设计适用于需要按类型分类管

2025-10-30 09:56:00 203

原创 计算 java 中每个字符串中字符出现的次数

本文介绍了一个Java程序,用于统计字符串中每个ASCII字符出现的次数。程序首先创建了一个大小为128的整型数组来存储字符计数,然后遍历输入字符串,对每个ASCII范围内的字符进行计数。对于非ASCII字符(>127),程序会输出错误提示。最后,程序遍历计数数组,输出所有出现过的字符及其出现次数。示例字符串"abdsd3$asda$asasdd$sadas"的输出结果显示了每个字符的出现频次。这种方法简单高效,适用于ASCII字符集的频率统计。

2025-10-28 17:19:57 153

原创 在小于 O(n) 的时间内从排序数组中查找唯一数字

摘要:本文介绍了一种高效查找有序数组中唯一数字的分治算法。通过递归二分查找,当中间值与前/后值相同时跳过重复项,最终收集所有唯一值。该算法特别适合处理大规模有序数据(如几亿个数字中约1000个唯一值的情况),时间复杂度优于线性扫描。示例展示了输入[1,1,1,5,5,5,9,10,10]时正确输出[1,5,9,10]的过程。

2025-10-28 17:00:08 327

原创 将给定的数字分解成幂和

该Java程序实现了一个将整数分解为平方和的方法。程序通过循环计算,每次找到当前数的最大平方数部分,并将其从原数中减去,直到剩余数为1或0。例如输入148,输出"12^2+2^2+0^2",表示148=12²+2²+0²。程序使用了Math.sqrt()和Math.pow()方法进行数学运算,通过字符串拼接构建结果表达式。当剩余数为1或0时,会添加对应的平方项。这个算法适用于将正整数表示为多个平方数之和的形式。

2025-09-29 11:40:28 173

原创 Java8计算两个集合之间的交集

该Java程序比较两个字符串集合的交集元素数量。使用HashSet存储两个数组的元素,通过SimpleBag类计算交集:统计较小集合中元素在较大集合出现的次数,当无法达到预设阈值(3次)或比例(50%)时抛出异常。运行结果显示两集合的交集元素数量为2("2"和"9")。

2025-09-28 15:28:21 161

原创 JAVA 8按某些属性分组

本文演示了如何使用Java 8的Stream API按多个属性分组对象

2025-09-28 10:25:03 129

原创 java8浮点型算平均值

本文展示了使用Java 8流式计算对象列表平均值的示例。首先定义了一个包含Float类型val属性的Cs实体类,然后创建包含4个Cs对象的ArrayList。通过调用stream()、mapToDouble()和average()方法链,计算了val属性的平均值,最后使用orElse()处理空值情况。运行结果正确显示平均值为0.425。这段代码简洁地演示了Java 8流式API在集合操作中的强大功能。

2025-08-29 17:12:21 137

原创 varbinary 与 text 不兼容

摘要:SQL Server插入数据时报错"varbinary与text不兼容",通常是因为text类型字段被赋值为null导致。解决方法是在Java代码中给该字段值加上rtrim函数处理,如:rtrim(#{operLog.operParam}),这样就能避免因空值导致的类型不兼容问题。

2025-08-28 11:09:15 170

原创 安装了TortoiseSVN但是在idea的subversion里面找不到svn.exe

摘要:安装TortoiseSVN时必须勾选特定选项才能在bin目录找到svn.exe。若已安装但未勾选,有两种解决方法:1)卸载重装;2)通过控制面板→程序卸载→找到TortoiseSVN→右键更改→修改安装→勾选第二个选项。图文详细说明了操作步骤,确保用户能正确配置SVN命令行工具。

2025-08-27 13:57:25 342

原创 replaceAll替换换行符的问题

Java中使用replaceAll()替换换行符时,需注意正则表达式转义问题。示例代码演示了直接使用"\n"可能无效的问题,建议使用"\n"进行正确转义。当处理Windows换行符时,还需考虑"\r\n"的情况。文章通过具体代码展示了替换前后的效果差异,并配有效果对比图。

2025-07-30 09:37:04 187

原创 根据字符串数组的顺序重新排序 List顺序

本文演示了如何根据给定的ID顺序重新排序对象列表。通过Java代码示例,展示了一个包含ID列表和对象列表的排序过程:先创建一个包含乱序ID的字符串数组和一个包含对象信息的ArrayList,然后使用嵌套循环比较ID并交换位置,最终使对象列表按照指定ID顺序排列。代码中使用了Collections.swap()方法实现元素交换,最后输出排序后的列表。这段代码解决了根据预定义顺序重新组织数据集合的需求。

2025-07-24 14:26:34 287

原创 使用Collectors.partitioningBy进行分组

摘要:这段Java代码演示了使用Stream的partitioningBy方法将员工集合按薪资(>25000)分为高低两组。首先创建包含4个员工对象的列表,然后通过流操作将集合分区为Map<Boolean,List>结构。最后分别获取高薪资组(John和Sue)和低薪资组(Fred和Bob)并打印结果。代码展示了Java 8流式处理数据的高效方式。

2025-07-23 09:43:14 250

原创 如何将两个不同类性的类组合成一个json数据

这段Java代码演示了如何将两个不同规格的JSON数据(规格1和规格2)合并成一个JSON对象。代码创建了两个Map分别存储ErGuige1和ErGuige2类型的数据列表,然后使用HashMap的putAll()方法将它们合并到combinedMap中。示例中添加了两个规格1对象和一个规格2对象,最终输出合并后的Map内容。程序执行后会打印包含"ys"和"cm"两个键的合并JSON对象,分别对应两种规格的数据列表。

2025-06-27 17:21:55 234

原创 在 Java 中始终保留列表中元素的精确百分比

这是一个随机保留列表指定百分比元素的Java实现方法。该方法接受一个整数列表和保留百分比参数,计算需要保留的元素数量后,通过随机打乱列表顺序并截取前N个元素实现随机保留。关键点包括:1)精确计算保留数量(向下取整);2)使用Collections.shuffle实现随机性;3)适用于各种大小的列表。实现通过创建列表副本避免修改原列表,最后返回包含随机保留元素的新列表。

2025-06-26 16:17:17 224

原创 重建与数字子序列匹配的最小数字序列的有效方法

摘要:本文提出了一种解决数字拼图游戏的方法。给定一个由两个步长(firstStep/secondStep)生成数字序列的游戏,其中部分数字丢失形成puzzleNumber。任务是通过动态规划寻找能够生成puzzleNumber的最小完整数字序列。算法首先处理特殊步长情况(如全偶数或全5的步长),然后构建状态转移表,使用类似最短路径的方法寻找最优解。对于无法生成的情况返回"-1"。该方案通过预处理和贪心策略高效地解决了问题。

2025-06-26 14:19:48 249

原创 选定一个数字,在一个数组中选一个连续的子数组变换使得这个数组中数字最多

这个问题要求从一个整数列表中选择一个连续的子数组,并对该子数组中的所有元素加上一个整数 z(正数或负数),使得目标整数 k 在列表中的频率最大化。操作只能执行一次。通过遍历列表,计算每个元素与 k 的关系,并利用哈希表记录增益,最终找到使 k 频率最大化的子数组。代码中,baseCount 记录初始 k 的频率,maxGain 记录每个元素的最大增益,最终结果为 baseCount 加上最大增益。例如,对于列表 [2, 3, 2, 4, 3, 2] 和 k=2,选择子数组 [3,4] 并加上 z=-2,得到

2025-05-23 13:56:00 146

原创 给定一个数组,找到相邻元素差值小于2的最长子序列的长度

给定一个整数数组 arr,要求从中选择一个子序列,并将这些整数重新排列成一个环形序列,使得任意两个相邻整数(包括首尾元素)之间的绝对差不超过 1。目标是找到能够选中的整数的最大数量。通过统计每个整数的出现频率,并检查相邻整数的频率,可以确定最大可能的环形序列长度。具体实现中,使用哈希表统计每个整数的频率,然后遍历哈希表,计算连续整数的总频率,确保相邻整数的绝对差不超过 1。最终输出最大可能的环形序列长度。

2025-05-23 11:41:50 240

原创 不使用Long.parseLong()将String转成long类型,不使用String.valueOf()将Long转成String类型

文章介绍了一种将包含非数字字符的字符串转换为长整型(long)的方法,以及如何将长整型转换回字符串。由于字符串中可能包含非数字字符,无法直接使用Long.parseLong()进行转换。通过位移操作,可以将字符串中的每个字符转换为对应的ASCII值,并累加到一个长整型变量中。反之,通过将长整型值逐字节转换为字符,可以还原出原始字符串。代码示例展示了如何实现这两种转换,并提供了输入输出示例。这种方法适用于处理包含非数字字符的字符串与长整型之间的转换。

2025-05-23 10:46:32 199

原创 Mybatis-Plus使用updateById(),update()进行更新允许更新字段为NULL

防止更新的时候将有些不需要更新的字段给修改成null值了,但是有些字段又需要更新成null,这时候就得单独对这些字段设置field-strategy。,在你需要单独设置的字段上面加注解。

2025-04-23 17:16:46 758

原创 使用集合对同字母的字符串进行分组

【代码】使用集合对同字母的字符串进行分组。

2025-04-21 15:31:04 243

原创 将所有零移动到数组末尾,同时保留元素的顺序

例如有一个数组 [0,1,0,3,2]预期输出为[1,3,2,0,0]

2025-04-15 11:05:24 207

原创 给定一个数组所有组合之和等于固定值

例如[1.0, 0.5, 0.25],给出所有可能的总和为 1.0的组合。

2025-03-26 11:53:51 235

原创 java 处理具有多个返回语句的递归调用

【代码】java 处理具有多个返回语句的递归调用。

2025-03-25 16:05:06 160

原创 将浮点数转换为无符号整数

例如{ 0.0f, -0.1f, -1.5f, Float.NaN, 1.7f, 3e+9f, 1e+12f }需要转换成。我需要将浮点数转换为无符号整数,将 类似于基本的浮点到整数的转换,但输出为无符号整数,对于负数浮点数返回零。

2025-03-24 11:01:40 329

原创 如何使用Java集合框架查找 K个最常见的元素

整数数组,需要高效地找到K个最常出现的元素。理想情况下,应该使在O(N log K)时间复杂度内完成。对所有元素进行排序需要O(N log N)时间复杂度内完成。

2025-02-21 15:17:18 107

原创 给定一个二进制字符串,翻转其中某个连续子段以获得最多的1

选择一个段 [i,j],其中 i 和 j 是二进制字符串中的索引,并且 i>=0 和 j < n-1(最后一个字符不能作为任何段的一部分包含在内,2 <= n <= 10^5)。s = “10000011”,选择段[i,j]=[6,6]翻转剩余位,即[0,5]和[7,7] -> 10000011 -> 01111110。这里的翻转意味着将 0 改为 1,将 1 改为 0。s = “100110”,选择段[i,j]=[3,4]翻转剩余位,即[0,2]和[5,5] -> 100110 -> 011111。

2025-02-21 13:37:12 249

原创 Java中将“18-OCT-24 10.02.33.578000000 PM“这种日期字符串读取为正确的日期格式

因此,您需要不区分大小写地解析字符串,您可以通过DateTimeFormatter使用构建器来完成此操作DateTimeFormatterBuilder。这OCT不是 Java 期望的月份缩写。

2025-02-20 13:59:20 192

原创 等到两个线程中的任何一个完成再执行第三个线程

控制台中打印3次蓝色3次红色3次白色,但当蓝色或红色完成工作时,打印白色的线程必须启动。前两个线程应该立即启动,但第三个线程应该仅在前两个线程之一完成其工作后才启动。

2025-01-20 11:01:08 142

原创 检查一个字符是否由另一个字符开始和结尾

3.如果满足这两个条件,则可以使用递归调用继续进行,并传递text和的子字符串sequence(不包括其第一个字符)。在每个递归步骤中,都会减少要面对的字符串部分,直到text中只剩下 1 个字符。1.先确定字符串中的第一个字符text要比第二个字符sequence长度要长text.length() - sequence.length()>=0。2.两个字符串第一个字符一样。

2025-01-10 17:11:34 231

原创 @JsonAlias注解作用

它是Jackson提供的一个可以在反序列化时匹配多个 JSON 属性名的注解。@JsonAlias 允许你为一个字段定义多个可能的 JSON 键名。你接受到的 JSON 就可以是以下的形式。@JsonAlias的作用。

2025-01-06 09:33:54 350

原创 过滤掉list中两个连续的元素

1.用JAVA8的写法。

2024-12-23 14:39:28 520

原创 取多个集合的交集

1.我们取多个集合的交集,先把各个集合的值放到对应的Set里面,然后放入list中。

2024-12-23 11:28:26 430

原创 List反转的方法

2.Collections.reverse(),这个反转是直接在原list反转的。3.谷歌guava包里的方法。

2024-12-19 14:41:39 1141

原创 SQLSERVER游标循环

如果全部查找出来用 @@FETCH_STATUS=0判断,如果下一个没有的话 @@FETCH_STATUS的值就不等于0了。你如果只想取前几条的话定义一个参数@CS=3这里取3条当然这里@CS不能比#TmpTable表里数据行数多。最后关闭游标并且释放游标。

2024-11-26 14:33:05 536

空空如也

空空如也

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

TA关注的人

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