[英]how to iterate over specific elements in string objects (arraylist Java)
ArrayList<String> dnaArray = new ArrayList<>();
ArrayList<Character> compArray = new ArrayList<Character>();
// [tac, tat, tta, aaa, aac, aca, aac, ttt]
public void createCompliment() {
for (String letters : dnaArray) {
for (int i = 0, len = letters.length(); i < len; i++) {
char character = letters.charAt(i);
if (character == 'a'){
character = 't';
} else if (character == 'c') {
character = 'g';
}
compArray.add(character);
}
}
}
How would I access specific characters, change 'a' to 't' and similarily from 'c' to 'g'.我将如何访问特定字符,将“a”更改为“t”,类似地从“c”更改为“g”。 Then added to a new arraylist and return something like:然后添加到新的 arraylist 并返回如下内容:
[ttg, ttt, ttt, ttt, ttg, tgt, ttg, ttt] [ttg,ttt,ttt,ttt,ttg,tgt,ttg,ttt]
instead of: [t, t, g, t, t, t, t, t, t, t, t, t, t, t, g, t, g, t, t, t, g, t, t, t]代替: [t,t,g,t,t,t,t,t,t,t,t,t,t,t,g,t,g,t,t,t,g,t,t,吨]
appreciate it欣赏它
the easiest way in my opinion is to use string replace:我认为最简单的方法是使用字符串替换:
ArrayList<String> dnaArray = new ArrayList<>();
ArrayList<String> compArray = new ArrayList<String>();
public void createCompliment() {
for (String letters : dnaArray) {
compArray.add(letters.replace('a', 't').replace('c', 'g'));
}
}
You can use a StringBuilder()
to create the new String then add it to compArray
.您可以使用StringBuilder()
创建新的 String 然后将其添加到compArray
。
Try this:尝试这个:
for(String letters : dnaArray) {
StringBuilder sb = new StringBuilder();
for(int i=0; i<letters.length(); i++) {
char character = letters.charAt(i);
if (character == 'a'){
sb.append("t");
}
else if (character == 'c'){
sb.append("g");
} else {
sb.append(String.valueOf(character));
}
}
compArray.add(sb.toString());
}
Output: Output:
[ttg, ttt, ttt, ttt, ttg, tgt, ttg, ttt]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.