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

标签 java arrays replace char

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

最佳答案

或者更有效的方法是使用 StringBuilder,它是 char[] 的包装器,让它为您完成。

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

打印

HeLo

您可以查看 replace 的代码以了解它是如何执行的。

关于java - 用字符数组中的一个字符替换两个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018153/

相关文章:

javascript - 数组中的特定单词

用向量替换 data.table 的一部分

java - Android 将 ArrayList<Object> 保存为 SharedPreference

java - Java 中枚举类型实例变量的默认值是多少?

java - JUnit Jupiter (JUnit5) 中的参数化测试执行

Objective-C 字符串替换

javascript - 将文本从表格单元格转换为文本区域时,并非所有 s 都会被替换

java - Mysql:获取字符串?

java - 为什么在第二个 For 循环中给出 ArrayIndexOutOfBoundsException?

javascript - 创建新数组和清除长度之间的区别