这是代码:
ArrayList<String> listSell = new ArrayList<String>();
listSell.add("hello : world : one");
listSell.add("hello : world : one");
listSell.add("hello : world : one");
String splitSell[] = null;
for (int i = 0; i < listSell.size(); i++){
splitSell = (listSell.get(i)).split(":");
System.out.println(splitSell[0]);
}
当我使用splitSell [0]时,这将打印所有值:
hello
hello
hello
我怎么才能打印一个值?
答案 0 :(得分:1)
如果您的意思是,您希望在拆分后删除重复的元素。将splitted元素添加到Set实现类中并迭代它。
Set<String> set = new LinkedHashSet<>();
for (int i = 0; i < listSell.size(); i++){
splitSell = (listSell.get(i)).split(":");
set.add(splitSell[0]);
}
for(String s: set){
System.out.println(s);
}
实现类的java.util.Set不接受重复元素,因此在您的示例中只会打印“hello”一次。
答案 1 :(得分:0)
不确定你想要什么。但这里有一些选择。
ArrayList<String> listSell = new ArrayList<String>();
listSell.add("hello : world : one");
listSell.add("hello : world : one");
listSell.add("hello : world : one");
String splitSell[] = null;
Set<String> split1 = new TreeSet<String>();
Set<String> split2 = new TreeSet<String>();
Set<String> split3 = new TreeSet<String>();
for (String listItem : listSell) {
splitSell = listItem .split(":");
split1.add(splitSell[0]);
split2.add(splitSell[1]);
split3.add(splitSell[2]);
}
//Prints all the first values
for (String string1 : split1) {
System.out.println(string1);
}
//Prints all the second values
for (String string2 : split2) {
System.out.println(string2);
}
//Prints all the third values
for (String string3 : split3) {
System.out.println(string3);
}
请注意,add
方法仅添加元素(如果该元素尚未包含在Set
中)。请参阅Set documentation。