java迭代器Iterator的问题,最后的集合输出的逗号怎么去掉?

public class Test2 {
public static void main(String[] args) {
//定义List集合,存入多个字符串
ArrayList<String> list = new ArrayList<String>();
list.add("asd");
list.add("hfg");
list.add("rew");
list.add("khk");
list.add("xcv");
//打印字符串集合
System.out.println(list);

//利用迭代器遍历集合元素并输出
Iterator<String> i = list.Iterator();
System.out.print("[");
while( i.hasNext()){
if( list.indexOf(i) != list.size()-1){
System.out.print(i.next()+",");
}
else {
System.out.print(i.next());
}
}
System.out.println("]");
}
}

//
[asd, hfg, rew, khk, xcv]
[asd,hfg,rew,khk,xcv,]
最后的逗号怎么去掉?

第1个回答  2017-04-28
while (i.hasNext()) {
String str = i.next();
if (list.indexOf(str) != list.size() - 1) {
System.out.print(str + ",");
} else {
System.out.print(str);
}
}追问

谢谢大神,只不过 定义集合和Iterator的时候已经加入泛型,还有必要再String str = i.next();吗?为什么不能再indexOf( )里面加上(String)(i.next( ))强转呢?

本回答被提问者和网友采纳
相似回答