for 循环和 foreach 循环在遍历时的区别与联系
来源:互联网 发布:金士顿u盘数据恢复 编辑:程序博客网 时间:2024/05/18 02:09
1、for循环和foreach循环的作用都可以遍历一个list,比如
for(int i = 0; i < list.size; i ++) { }for(int i = list.size(); i > 0; i --) { }for (Class c : list) {}
2、但是,下面的情况下for ++ 和for -- 不能通用(在循环的基数改变的时候,例如下面的例子,每循环两次插入一个对象)
可以这样
for (int i = t.size(); i > 0; i --) {if(i % 2 == 0) t.add(new Test());}
但是,不可以这样
for (int i = 0; i < t.size(); i ++) {if(i % 2 == 0) t.add(new Test());}
这是因为,在add的过程中,t.size()的值是在不断改变的,所以这种基数改变的情况下只能用--
3、for 和 foreach的区别,时间复杂度的关系,foreach是在不断的new 对象出来,比如下面的
package demo_20141031;import java.util.ArrayList;import java.util.Date;import java.util.List;public class Test {private String name = "";//public String getName() {//return name;//}public void setName(String name) {this.name = name;}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubList<Test> t = new ArrayList<Test>();Test temp = new Test();String a = "12";//String b = "1";for (int i = 0; i < 10; i ++) {temp.setName(a);t.add(temp);}//System.out.println();//long time0 = new Date().getTime();//for (int i = 0; i < t.size(); i ++) {////}long time1 = new Date().getTime();for (Test temps : t) {}long time2 = new Date().getTime();//System.out.println(time1 - time0);System.out.println(time2-time1);}}
0 0
- for 循环和 foreach 循环在遍历时的区别与联系
- LinkedList,ArrayList在foreach循环遍历时可以删除元素!!!
- java.util.ArrayList在foreach循环遍历时删除元素的问题
- for循环和foreach循环的区别?
- for循环与while循环的区别和联系
- 关于循环遍历时的for in和es6中for of 方法的对比
- foreach 和 for 循环的区别
- 深入 foreach 和 for 循环的区别
- foreach和for循环的区别
- [破除迷信]java.util.ArrayList在foreach循环遍历时可以删除元素
- [破除迷信]java.util.ArrayList在foreach循环遍历时可以删除元素
- 在for循环遍历时,尽量用print 而不用return
- 递归与循环的区别和联系
- for循环和foreach循环
- php for循环和foreach区别
- 从源码角度看for循环和foreach的区别
- foreach语句和传统的for循环语句区别
- Java中 for和foreach循环的区别
- smart pointer
- Nginx - Access denied 问题排查
- android 简单的adapter封装
- 2014/11/1 将excel文件中的数据导入到mysql学习参考
- HDU 1565 方格取数(1)(状压DP)
- for 循环和 foreach 循环在遍历时的区别与联系
- python发送邮件
- 说说我的HBase表设计
- 投诉山西省应县公安局非法拘禁
- Unicode和UTF-8的关系
- CString转为string遇到的问题
- 三大主流开源硬件对比:Arduino vs BeagleBone vs Raspberry Pi
- 数据结构第三章栈和队列知识结构导图
- Hibernate4二级缓存配置