如何解决如何遍历字符串对象中的特定元素arraylist Java
ArrayList<String> dnaArray = new ArrayList<>();
ArrayList<Character> compArray = new ArrayList<Character>();
// [tac,tat,tta,aaa,aac,aca,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);
}
}
}
我将如何访问特定字符,将“ a”更改为“ t”,类似地从“ c”更改为“ g”。 然后添加到新的arraylist中,并返回类似以下内容的
[ttg,ttt,ttt,ttt,ttg,tgt,ttg,ttt]
而不是:[t,t,g,t,t,t,t,g,t,g,t,t,t,g,t ,t,t]
欣赏
解决方法
我认为最简单的方法是使用字符串替换:
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'));
}
}
,
您可以使用StringBuilder()
创建新的字符串,然后将其添加到compArray
。
尝试一下:
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());
}
输出:
[ttg,ttt,ttg,tgt,ttt]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。