繁体   English   中英

我想用另一个字符替换字符串arraylist每个元素的第四个字符

[英]i want replace fourth character of each element of the string arraylist with the other character

list2.get(i).replace(list2.get(i).charAt(4), list3.get(i));

list2是字符串[00110001, 11111111, 00000000, 01001010, 00000000]例如[00110001, 11111111, 00000000, 01001010, 00000000]

我想替换list2中每个元素的第4个字符,即替换list3字符存储,以便它包含[1, 0, 1, 1, 1] list3 [1, 0, 1, 1, 1]

最后,我的arraylist list2应该看起来像[00111001, 11110111, 00001000, 01001010, 00001000]

首先,您必须注意String是不可变的。 这意味着您不能仅通过在list2.get(i)上运行任何方法来执行此操作。 所有字符串方法都返回新的字符串值,但不更改原始字符串的值。

因此,您必须使用list2.set( i, newValue )将先前的字符串替换为将要构造的新字符串。

现在,您如何构建价值? 您将不应该更改的字符串部分放入新的字符值之间:

就像是:

String oldValue = list2.get(i);
String newValue = oldValue.substring(0,3) + list3.get(i) + oldValue.substring(5);

您可以这样做:

  • 将计数器变量定义为从0开始的list3中元素的索引。
  • 遍历list2中的每个元素
  • 删除迭代器给出的字符串,并使用String上的toCharArray api将其转换为charArray
  • 现在使用counter指向的list3元素,使用char数组中的第4个索引更改该位。
  • 将char数组转换回String(使用String(char [])构造函数)并将其添加到列表2。
  • 递增计数器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM