关注
你这个代码还可以再优化,遇到空格追加,使用stringbuilder,底层的实现是会执行多次resize操作。因此在数据量大的情况下,性能会降低下来。 //设置计算游标
int isr = 0;
//执行一次N的遍历
for (int i = 0; i < origionChars.length; i++) {
if (origionChars[i] == ' ') {
isr++;
}
}
//最后的新数组的大小
int newCapacity = origionChars.length + (isr * specifiedChars.length);
char[] newChars = new char[newCapacity];
for (int i = 0, j = 0; i < newCapacity && j < origionChars.length; i++) {
if (origionChars[j] == ' ') {
for (int t = 0; t < specifiedChars.length; t++) {
newChars[i++] = specifiedChars[t];
}
j++;
continue;
}
//正常迁移
newChars[i] = origionChars[j++];
}
return new String(newChars); 通过这种方式,只执行一次的resize,在1百万长度的字符下,效率提高两倍+!
10
相关推荐

点赞 评论 收藏
分享
07-06 16:35
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
55050次浏览 411人参与
# 运营面经 #
115649次浏览 1250人参与
# 你认为小厂实习有用吗? #
20930次浏览 250人参与
# 说说你知道的学历厂 #
39658次浏览 239人参与
# 应届生,你找到工作了吗 #
21386次浏览 152人参与
# 三一重工求职进展汇总 #
13379次浏览 61人参与
# 材料人,你们签了哪个公司 #
7490次浏览 18人参与
# 计算机有哪些岗位值得去? #
17135次浏览 160人参与
# 哪一瞬间觉得自己长大了 #
10085次浏览 228人参与
# 面试尴尬现场 #
32708次浏览 219人参与
# 你找工作的时候用AI吗? #
18955次浏览 232人参与
# 下班后的时间你怎么安排 #
10368次浏览 140人参与
# 烟草笔面经互助 #
17854次浏览 184人参与
# 秋招最大的收获是什么? #
36116次浏览 309人参与
# 社会教会你的第一课 #
36934次浏览 463人参与
# 电网笔面经互助 #
36918次浏览 357人参与
# 硬件应届生薪资是否普遍偏低? #
75431次浏览 520人参与
# lastday知无不言 #
58335次浏览 475人参与
# 你的领导最像哪种动物,为什么? #
14379次浏览 107人参与
# 学历贬值真的很严重吗? #
22443次浏览 163人参与