java的集中for循环分别在什么时候用 for(i;i<n;i++)for(String s:slist)while dodo whileiteratro这些各在什么情况下用呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 for(i;i<n;i++) //知道循环次数for(String s:slist) //for以1递增时的简便用法while do //知道循环结束条件do while //和 while do 一样 只不过,它第一次循环会无条件执行iteratro //不知道, 1.for:主要针对有限循环,也就是当循环的上限确定,一般使用for循环语句。2.while:先判断,在执行。针对无限循环的情况,也就是没有明确上限,根据程序条件而定。3.do...while:先执行,再判断。如果想先执行一次,在进行判断的话,可以使用这个。4.foreach:通常可以使用在数组和集合,是for的简化。全部遍历一次,输入其中的所有成员。如果想遍历多次,或者部分,就采用for循环。5。iterator:迭代器。在集合中比较常用。不过后期,可以用foreach代替。看你个人喜好啦~ 是Iterator,注意单词。Iterator是迭代器,用于对集合遍历!for(String s:slist)是迭代器的简写方式,实现Collection接口的集合都可以使用Iterator迭代,也就是说都可以用上面说的for形式迭代! for(i;i<n;i++)知道循环的起止数, 循环中需要用到不断递增/递减的变量for(String s:slist)叫foreach循环, 遍历数组/集合中元素用的 为了减少代码量while不知道确切的循环次数, 但知道循环结束条件时使用do while先执行一遍代码,再判断while条件是否成立iterator迭代器 用来遍历单值类型集合中元素的(与foreach循环功能相同) 无法直接new出对象必须用集合的iterator()方法获得iterator对象就3个方法:hasnext() next() remove()hasnext()返回boolean类型, 是否有下一个元素next()返回Object类型(其实是泛型), 指向下一个元素并返回这个元素remove()删除当前的元素例:while(it.hasNext()){ Object o = it.next();} 对于80%的开发来讲,用哪个都无所谓,可是有些情况你需要注意:一、for(String s:slist)与iterator都是迭代模式,在遍历的时候不可以删除集合中的元素,不然会引起concurrentModificationException;二、假如你要实现“删除集合中由start位置到end位置的元素,并且不允许使用另外一个集合”,这时候for来的简单:public void removeIndex(int start,int end,List<String> list){ for(int i=start;i<=end-start+1;i++){ list.remove(start); } }三、在算法密集型开发中,通常需要判断堆栈、队列等特殊的集合是否为空或者为满,这时候,用:while(!stack.isEmpty()){//你需要的算法}还有:public static final int MAX=20;do{//你需要的算法}while(queue.size()<MAX);比较简单。 跪求java高手帮忙解决一个关于jtable异常 如果做出类似Windows Exploer打开文件夹 右边的界面 怎么重画JInternalFrame 谁能告诉我这个小程序输出的为什么不是5???? 如何實現單擊一個菜單命令打開一個窗口 请教高手,list循环加载后,循环体内变量需要释放吗? java中的多线程不太理解 jdon2.5版jive的配置问题 大家来看看这段程序! 求助--关于为null的数据的处理 java字符串分隔 java_Socket_inputStrem
for(String s:slist) //for以1递增时的简便用法
while do //知道循环结束条件
do while //和 while do 一样 只不过,它第一次循环会无条件执行
iteratro //不知道,
2.while:先判断,在执行。针对无限循环的情况,也就是没有明确上限,根据程序条件而定。
3.do...while:先执行,再判断。如果想先执行一次,在进行判断的话,可以使用这个。
4.foreach:通常可以使用在数组和集合,是for的简化。全部遍历一次,输入其中的所有成员。如果想遍历多次,或者部分,就采用for循环。
5。iterator:迭代器。在集合中比较常用。不过后期,可以用foreach代替。看你个人喜好啦~
知道循环的起止数, 循环中需要用到不断递增/递减的变量
for(String s:slist)
叫foreach循环, 遍历数组/集合中元素用的 为了减少代码量
while
不知道确切的循环次数, 但知道循环结束条件时使用
do while
先执行一遍代码,再判断while条件是否成立
iterator
迭代器 用来遍历单值类型集合中元素的(与foreach循环功能相同) 无法直接new出对象必须用集合的iterator()方法获得
iterator对象就3个方法:hasnext() next() remove()
hasnext()返回boolean类型, 是否有下一个元素
next()返回Object类型(其实是泛型), 指向下一个元素并返回这个元素
remove()删除当前的元素
例:
while(it.hasNext()){
Object o = it.next();
}
一、for(String s:slist)
与iterator都是迭代模式,在遍历的时候不可以删除集合中的元素,不然会引起concurrentModificationException;
二、假如你要实现“删除集合中由start位置到end位置的元素,并且不允许使用另外一个集合”,这时候for来的简单:
public void removeIndex(int start,int end,List<String> list){
for(int i=start;i<=end-start+1;i++){
list.remove(start);
}
}
三、在算法密集型开发中,通常需要判断堆栈、队列等特殊的集合是否为空或者为满,这时候,用:
while(!stack.isEmpty()){
//你需要的算法
}
还有:
public static final int MAX=20;
do{
//你需要的算法
}while(queue.size()<MAX);
比较简单。