- 博客(139)
- 收藏
- 关注
原创 如何将两个不同类性的类组合成一个json数据
这段Java代码演示了如何将两个不同规格的JSON数据(规格1和规格2)合并成一个JSON对象。代码创建了两个Map分别存储ErGuige1和ErGuige2类型的数据列表,然后使用HashMap的putAll()方法将它们合并到combinedMap中。示例中添加了两个规格1对象和一个规格2对象,最终输出合并后的Map内容。程序执行后会打印包含"ys"和"cm"两个键的合并JSON对象,分别对应两种规格的数据列表。
2025-06-27 17:21:55
200
原创 在 Java 中始终保留列表中元素的精确百分比
这是一个随机保留列表指定百分比元素的Java实现方法。该方法接受一个整数列表和保留百分比参数,计算需要保留的元素数量后,通过随机打乱列表顺序并截取前N个元素实现随机保留。关键点包括:1)精确计算保留数量(向下取整);2)使用Collections.shuffle实现随机性;3)适用于各种大小的列表。实现通过创建列表副本避免修改原列表,最后返回包含随机保留元素的新列表。
2025-06-26 16:17:17
195
原创 重建与数字子序列匹配的最小数字序列的有效方法
摘要:本文提出了一种解决数字拼图游戏的方法。给定一个由两个步长(firstStep/secondStep)生成数字序列的游戏,其中部分数字丢失形成puzzleNumber。任务是通过动态规划寻找能够生成puzzleNumber的最小完整数字序列。算法首先处理特殊步长情况(如全偶数或全5的步长),然后构建状态转移表,使用类似最短路径的方法寻找最优解。对于无法生成的情况返回"-1"。该方案通过预处理和贪心策略高效地解决了问题。
2025-06-26 14:19:48
154
原创 选定一个数字,在一个数组中选一个连续的子数组变换使得这个数组中数字最多
这个问题要求从一个整数列表中选择一个连续的子数组,并对该子数组中的所有元素加上一个整数 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
103
原创 给定一个数组,找到相邻元素差值小于2的最长子序列的长度
给定一个整数数组 arr,要求从中选择一个子序列,并将这些整数重新排列成一个环形序列,使得任意两个相邻整数(包括首尾元素)之间的绝对差不超过 1。目标是找到能够选中的整数的最大数量。通过统计每个整数的出现频率,并检查相邻整数的频率,可以确定最大可能的环形序列长度。具体实现中,使用哈希表统计每个整数的频率,然后遍历哈希表,计算连续整数的总频率,确保相邻整数的绝对差不超过 1。最终输出最大可能的环形序列长度。
2025-05-23 11:41:50
189
原创 不使用Long.parseLong()将String转成long类型,不使用String.valueOf()将Long转成String类型
文章介绍了一种将包含非数字字符的字符串转换为长整型(long)的方法,以及如何将长整型转换回字符串。由于字符串中可能包含非数字字符,无法直接使用Long.parseLong()进行转换。通过位移操作,可以将字符串中的每个字符转换为对应的ASCII值,并累加到一个长整型变量中。反之,通过将长整型值逐字节转换为字符,可以还原出原始字符串。代码示例展示了如何实现这两种转换,并提供了输入输出示例。这种方法适用于处理包含非数字字符的字符串与长整型之间的转换。
2025-05-23 10:46:32
153
原创 Mybatis-Plus使用updateById(),update()进行更新允许更新字段为NULL
防止更新的时候将有些不需要更新的字段给修改成null值了,但是有些字段又需要更新成null,这时候就得单独对这些字段设置field-strategy。,在你需要单独设置的字段上面加注解。
2025-04-23 17:16:46
513
原创 将浮点数转换为无符号整数
例如{ 0.0f, -0.1f, -1.5f, Float.NaN, 1.7f, 3e+9f, 1e+12f }需要转换成。我需要将浮点数转换为无符号整数,将 类似于基本的浮点到整数的转换,但输出为无符号整数,对于负数浮点数返回零。
2025-03-24 11:01:40
173
原创 如何使用Java集合框架查找 K个最常见的元素
整数数组,需要高效地找到K个最常出现的元素。理想情况下,应该使在O(N log K)时间复杂度内完成。对所有元素进行排序需要O(N log N)时间复杂度内完成。
2025-02-21 15:17:18
79
原创 给定一个二进制字符串,翻转其中某个连续子段以获得最多的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
204
原创 Java中将“18-OCT-24 10.02.33.578000000 PM“这种日期字符串读取为正确的日期格式
因此,您需要不区分大小写地解析字符串,您可以通过DateTimeFormatter使用构建器来完成此操作DateTimeFormatterBuilder。这OCT不是 Java 期望的月份缩写。
2025-02-20 13:59:20
157
原创 等到两个线程中的任何一个完成再执行第三个线程
控制台中打印3次蓝色3次红色3次白色,但当蓝色或红色完成工作时,打印白色的线程必须启动。前两个线程应该立即启动,但第三个线程应该仅在前两个线程之一完成其工作后才启动。
2025-01-20 11:01:08
115
原创 检查一个字符是否由另一个字符开始和结尾
3.如果满足这两个条件,则可以使用递归调用继续进行,并传递text和的子字符串sequence(不包括其第一个字符)。在每个递归步骤中,都会减少要面对的字符串部分,直到text中只剩下 1 个字符。1.先确定字符串中的第一个字符text要比第二个字符sequence长度要长text.length() - sequence.length()>=0。2.两个字符串第一个字符一样。
2025-01-10 17:11:34
185
原创 @JsonAlias注解作用
它是Jackson提供的一个可以在反序列化时匹配多个 JSON 属性名的注解。@JsonAlias 允许你为一个字段定义多个可能的 JSON 键名。你接受到的 JSON 就可以是以下的形式。@JsonAlias的作用。
2025-01-06 09:33:54
299
原创 SQLSERVER游标循环
如果全部查找出来用 @@FETCH_STATUS=0判断,如果下一个没有的话 @@FETCH_STATUS的值就不等于0了。你如果只想取前几条的话定义一个参数@CS=3这里取3条当然这里@CS不能比#TmpTable表里数据行数多。最后关闭游标并且释放游标。
2024-11-26 14:33:05
431
原创 IDEA某个Impl下的引入的文件红色
我的是在不关闭项目的情况下就把电脑关机了,因为这样第二天开机,启动IDEA就会把昨天关机前所有开启的项目全部开启。然后点击clean把target里的class文件都清楚,如果还是不行的话,就关闭当前有问题的项目,然后重新打开。,这样有时候就会出现上面说的问题,显目可以正常启动,但是你不能通过CTRL+鼠标左键进入到这个文件里面。IDEA某个Impl下的引入的文件红色,可以正常启动,而且文件是存在的。我们可以找到右边这个MAVEN。1.什么情况下会出现这个问题。
2024-11-26 09:13:58
518
1
原创 Java 泛型通配符:<? extends Number> 与 <T extends Number>
extends Number>可以传Integer和Long两种类型的,而 限定了只能都传Integer。声明 a 的原因T是为了可以再次引用它,从而将两个参数类型或返回类型绑定在一起。在这种情况下没有区别,因为T不会再使用。
2024-10-28 17:31:36
239
原创 List几种遍历方法速度
for循环耗时106毫秒,for-each循环耗时103毫秒,Lambda耗时122毫秒,迭代器耗时100毫秒。从结果看出,for循环、for-each循环、迭代器差不多,Lambda耗时最长。2.for-each循环。
2024-09-24 16:06:59
646
原创 卸载程序wmiprvse.exe占用
在右侧的服务列表中找到Windows Management Instrumentation服务项将它停止后再卸载。卸载程序时报错该程序被占用,而且占用的程序是wmiprvse.exe。按win+R键输入services.msc。
2024-09-11 11:53:49
441
原创 在JAVA中给定值是否等于一组其他值中的任意一个
因为上面的第二点,一旦 if 的条件评估完成,就应该忘记这组值,这CONSTANT.contains()不是一个解决方案,因为常量的性质意味着它 1.在到达 if 语句之前很久就被计算出来,2.在条件评估之后仍然存在。目前标记为与此问题重复的问题从标题来看可能看起来是等同的,但实际上并非如此:另一个问题涉及连续的 if/elif/else 子句,这些子句的条件重复出现,仅涉及单个 if 语句。一旦 if 的条件被评估完毕,这组值就应该被忘记——因此,所有内容都应包含在 if 的括号中。
2024-08-26 09:12:30
226
原创 SQL Server Profiler 只查看当前操作的语句
如果不知道你的spid是多少的话,你可以先不筛选,直接运行,然后开启跟踪再运行一个独特的SQL(为了一下就能找到)结束跟踪。1.打开Sql Server Manage Studio,登录->工具->SQL Server Profiler->链接。我这里spid是83,但是这个会变动,所以要注意。比如我这里写了这样的一个。
2024-08-01 13:24:43
408
原创 Java Lambda 语法问题
p->{xx}这里xx是语句,或者准确地说,是语句块。p->xx 这里xx是表达,而不是陈述。如果换成这样就没问题。
2024-07-22 09:06:29
139
原创 MybatisPlus wrapper nested功能
这样写的话就像第二种一样没有括号将or括起来。我们都知道这两个筛选结果是不同的。我们可以用nested连接。结果就是这样的有括号。
2024-07-12 09:44:17
847
原创 查看呗占用端口,并且删除该端口
窗口中输入netstat -ano|findstr 18088 查找18088端口的进程。根据pid删除进程taskkill /pid 18088 -t -f。点击windows开始菜单输入cmd。或者使用“win+r”键来打开窗口。
2024-06-26 16:36:51
391
原创 IntelliJ IDEA 修改mapper里的文件(xml文件) target目录对应的文件消失
3. 编译输出路径设置:确认编译后的输出路径设置是否正确。在上述的 Settings > Build, Execution, Deployment > Compiler > Java Compiler 或是在项目的构建配置中检查输出路径 (Output Path) 是否指向了正确的 target 目录。2. Maven/Gradle 缓存问题:如果你使用的是 Maven 或 Gradle 这样的构建工具,有时候构建缓存可能会导致新生成的文件没有被正确更新。可以尝试执行 clean 操作。
2024-06-18 16:17:29
527
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人