用char数组中的一个字符替换两个字符

Rav*_*shi 1 java arrays replace char

如何用char数组中的一个字符替换两个字符?让我解释一下.我有一个长度为char的数组n.在这个char数组中,我想用指定索引中的一个字符替换两个字符i.在这个过程中,数组长度将减少1.
我想到的想法是,首先创建一个长度为char的新数组,n-1然后将所有元素从索引复制0到索引i(i不包括),然后在索引处插入所需的字符i然后复制从索引i+2(i包括)到索引的元素n-1.但是这个过程需要两次for循环.有没有更好的方法可以以有效的方式做同样的事情.

Pet*_*rey 5

或者更有效的方法是使用StringBuilder,它是char []的包装器,让它为你做.

char[] chars = "Hello".toCharArray();
StringBuilder sb = new StringBuilder();
sb.append(chars);
sb.replace(2, 4, "L");
System.out.println(sb);
Run Code Online (Sandbox Code Playgroud)

版画

HeLo
Run Code Online (Sandbox Code Playgroud)

您可以查看替换代码,看看它是如何做到的.