关注
 你这个代码还可以再优化,遇到空格追加,使用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 
相关推荐
09-02 12:31
  门头沟学院 Java   点赞 评论 收藏   
分享
  点赞 评论 收藏   
分享
 牛客热帖
更多 
 正在热议
 更多 
 # 校招生月薪1W算什么水平 #
 27318次浏览 169人参与
# 硬件人的简历怎么写 #
 311686次浏览 3057人参与
# “vivo”个offer #
 36507次浏览 277人参与
# 我是面试官,请用一句话让我破防 #
 22983次浏览 117人参与
# 工作后明白的那些道理 #
 20897次浏览 220人参与
# 如果上班像打游戏,你最想解锁什么技能 #
 7053次浏览 67人参与
# 中美关税战对我们有哪些影响 #
 41389次浏览 350人参与
# 中美关系回暖,你会选择出海吗? #
 4851次浏览 94人参与
# AI时代,哪些岗位最容易被淘汰 #
 2625次浏览 27人参与
# 华为保温 #
 106066次浏览 403人参与
# 机械人,签完三方你在忙什么? #
 65606次浏览 244人参与
# 第一份工作应该只看薪资吗 #
 192162次浏览 1687人参与
# 牛友们,签完三方你在忙什么? #
 119807次浏览 958人参与
# 哪些行业值得去? #
 4497次浏览 46人参与
# 金融财经春招备战日记 #
 38632次浏览 210人参与
# i人适合做什么工作 #
 9950次浏览 88人参与
# 如果秋招能重来,我会____ #
 34325次浏览 283人参与
# 美团开奖 #
 208880次浏览 1101人参与
# 国央企笔面经互助 #
 161060次浏览 1182人参与
# 读研or工作,哪个性价比更高? #
 77054次浏览 767人参与
# 华为池子有多大 #
 109522次浏览 750人参与
 投递钉钉信息等公司10个岗位
投递钉钉信息等公司10个岗位 查看18道真题和解析
查看18道真题和解析