簡體   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