小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

增強(qiáng)for循環(huán)用法

 小花驢 2015-08-03

1.首先增強(qiáng)for循環(huán)和iterator遍歷的效果是一樣的,也就說增強(qiáng)for循環(huán)的內(nèi)部也就是調(diào)用iteratoer實現(xiàn)的,

但是增強(qiáng)for循環(huán)有些缺點,例如不能在增強(qiáng)循環(huán)里動態(tài)的刪除集合內(nèi)容。不能獲取下標(biāo)等。
2.ArrayList由于使用數(shù)組實現(xiàn),因此下標(biāo)明確,最好使用普通循環(huán)。
3.而對于LinkedList 由于獲取一個元素,要從頭開始向后找,因此建議使用增強(qiáng)for循環(huán),也就是iterator。
下面的例子可以證明

復(fù)制代碼
package com.ljq.test;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
* 增強(qiáng)for循環(huán)用法
*
*
@author jiqinlin
*
*/
public class ForTest {

public static void main(String[] args) {

//List<Integer> list = new ArrayList<Integer>();
List<Integer> list = new LinkedList<Integer>();
for (int i = 0; i < 50000; i++) {
list.add(11);
}

int resutl = 0;
long start = System.currentTimeMillis();
for (int i = 0; i < list.size(); i++) {
resutl = list.get(i);
}
System.out.println("普通循環(huán)使用了"+ (System.currentTimeMillis() - start)+"毫秒");


start = System.currentTimeMillis();
for (int c2 : list) {
}
System.out.println("增強(qiáng)for循環(huán)使用了"+ (System.currentTimeMillis() - start)+"毫秒");
}

}
復(fù)制代碼

使用ArrayList運(yùn)行結(jié)果如下

把ArrayList改為LinkedList,我這里內(nèi)存溢出了,運(yùn)行結(jié)果如下

于是list改成50000,運(yùn)行結(jié)果如下


所以在使用的時候適當(dāng)選擇就好了

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多