4 回答

TA贡献1775条经验 获得超8个赞
1.如果只是遍历集合或者数组,用foreach好些,快些。
2.如果对集合中的值进行修改,就要用for循环了。其实foreach的内部原理其实也是Iterator,但它不能像Iterator一样可以人为的控制,而且也不能调用iterator.remove();更不能使用下标来访问每个元素,所以不能用于增加,删除等复杂的操作。举个例子:
for(String aid:list){
if(aid.equals("aa")){
list.remove(aid); //这行会报错,不能修改list的长度
}
}
所以foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句。

TA贡献1833条经验 获得超4个赞
1 2 3 4 5 6 7 8 9 10 11 | // 1 for (int i = 0; i < list.size(); i++) { int item = list.get(i); System.out.println("这是第" + (i+1) + "个:值为:" + item); } // 2 int j = 0; for (int i : list) { ++j; System.out.println("这是第" + j + "个:值为:" + i); } |
根据需要,使用不同的方法
如果需要对序列做处理用第一个
如果不需要做处理可以用第二个
添加回答
举报