一般OJ题格式要求都是输出之间以空格隔开,并且末尾不能出现空格
用迭代器有几种较为简单的输出方式满足这种要求:
1.这种情况下仅适用于List类的容器,因为List有indexof方法,使用indexof判断元素是否到了最后一位,如果到了最后一位,那么就单单输出这个元素,如果不是最后一个元素,那么就输出这个元素+空格
while(iterator.hasNext())
{
int a = (int) iterator.next();
if(list.indexOf(a)!=list.size()-1)
{
System.out.printf(a+" ");
}
else{
System.out.printf(String.valueOf(a));
}
}
2.这种情况万能,所有容器都可以使用,尤其适用于Set集合这种没有indexof方法的容器,思路是在it.hasNext括号中再来一次判断,判断要输出元素的下一个元素是否存在,如果存在,就输出空格,不存在就只输出这个元素
本质上,也是判断最后一个元素,将最后一个元素的输出方式和其他元素区分
while(iterator.hasNext())
{
System.out.print(iterator.next());
if(iterator.hasNext()){
System.out.print(" ");
}
}