我正在使用此代码和ds列表打印例如:
aaa.(bbb)
aaa.(eee)
ccc.(ddd)
...
我需要它在相同的括号中打印与aaa
相关的字符串,以便将它们分开。
示例:aaa.(bbb,eee)
我的代码应该更改什么?
我知道代码不完整,但如果我添加了所有东西,它会使它复杂化很多。目标是在字符串s
的templist上进行迭代,以上述格式添加templist元素。
List<String> templist = new ArrayList<String>() ;
List<String> ds = new ArrayList<String>() ;
String s = "aaa"
String selecfin = null ;
for(int j =0;j<templist.size(); j++){
String selecP = templist.get(j);
selecfin = s+".("+selecP+")";
ds.add(selecfin);
}
答案 0 :(得分:2)
我没有测试它,但你可以像这样试试
List<String> templist = new ArrayList<String>() ;
List<String> ds = new ArrayList<String>() ;
String s = "aaa";
String selecfin = null ;
String tmp = null;
for(int i=0; i<templist.size(); i++) {
if(tmp != null) {
tmp = tmp + "," + templist.get(i);
} else {
tmp = templist.get(i);
}
}
selecfin = s + ".(" + tmp + ")";
ds.add(selecfin);
答案 1 :(得分:0)
您可以按如下方式检查aaa
是否存在:
if(selecP.contains("aaa")){
// separate and do what you need
}
以上述格式添加templist元素。我不太明白这意味着什么。
此外,您可以通过使用for-each循环使代码更紧凑,如下所示:
for(String selecP : tempList){
if(selecP.contains("aaa"){
// something
}
}
您没有在自己提供的代码段中向列表中添加任何内容。您正在迭代空列表。
<强> SSCCE:强>
在此处运行:http://ideone.com/66EIax
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
List<String> tempList = new ArrayList<String>();
List<String> ds = new ArrayList<String>();
tempList.add("aaa.(bbb)");
tempList.add("aaa.(eee)");
tempList.add("ccc.(ddd)");
String s = "aaa";
for(String selecP : tempList){
if(selecP.contains(s)){
ds.add(new String(selecP));
}
}
for(String each : ds){
System.out.println(each);
}
}
}
输出:
aaa.(bbb)
aaa.(eee)