最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java迭代器和for循環(huán)優(yōu)劣詳解

 更新時間:2021年01月21日 14:58:30   作者:小妮淺淺  
在本篇文章里小編給大家整理的是一篇關(guān)于java迭代器和for循環(huán)優(yōu)劣詳解內(nèi)容,對此有興趣的朋友們可以學(xué)習(xí)參考下。

在進行迭代的時候,程序運行的效率也是我們挑選迭代方法的重要原因。目前有三種迭代方法:for循環(huán)、迭代器和Foreach。前兩者相信大家都非常熟悉,為了更加直觀分析效率的不同,我們還加入Foreach一起比較。下面我們就三種方法的概念進行理解,然后ArrayList中探索三種方法的效率。

1.概念理解

for循環(huán):是支持迭代的一種通用結(jié)構(gòu),是最有效,最靈活的循環(huán)結(jié)構(gòu)

迭代器:是通過集合的iterator()方法得到的,所以我們說它是依賴于集合而存在的

Foreach:通過閱讀源碼我們還發(fā)現(xiàn)一個Iterable接口。它包含了一個產(chǎn)生Iterator對象的iterator()方法,而且將Iterator對象被foreach用來在序列中移動。對于任何實現(xiàn)Iterable接口的對象都可以使用。

2.效率實例

ArrayList中的效率對比:

    List<Integer> integers = Lists.newArrayList();
    for(int i=0;i<100000;i++){
      integers.add(i);
    }
    long start1 = System.currentTimeMillis();
    for(int count =0 ;count<10;count++){
      for(int i=0;i<integers.size();i++){
        int j=integers.get(i);
      }
    }
    System.out.println(String.format("for循環(huán)100次時間:%s ms",System.currentTimeMillis()-start1));
    long start2 = System.currentTimeMillis();
    for(int count =0 ;count<10;count++) {
      for (Integer i : integers) {
        int j = i;
      }
    }
    System.out.println(String.format("foreach循環(huán)100次時間:%s ms",System.currentTimeMillis()-start2));
    long start3 = System.currentTimeMillis();
    for(int count =0 ;count<10;count++) {
      Iterator<Integer> iterator = integers.iterator();
      while(iterator.hasNext()){
        int j=iterator.next();
      }
    }
    System.out.println(String.format("迭代器循環(huán)100次時間:%s ms",System.currentTimeMillis()-start3));

結(jié)果:

for循環(huán)100次時間:15 ms

foreach循環(huán)100次時間:25 ms

迭代器循環(huán)100次時間:20 ms

知識點擴展:

增強for循環(huán):foreach

在Java 5.0提供了一種新的迭代訪問 Collection和數(shù)組的方法,就是foreach循環(huán)。使用foreach循環(huán)執(zhí)行遍歷操作不需獲取Collection或數(shù)組的長度,也不需要使用索引訪問元素。

到此這篇關(guān)于java迭代器和for循環(huán)優(yōu)劣詳解的文章就介紹到這了,更多相關(guān)分析java迭代器和for循環(huán)優(yōu)劣內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java數(shù)據(jù)結(jié)構(gòu)優(yōu)先隊列實練

    Java數(shù)據(jù)結(jié)構(gòu)優(yōu)先隊列實練

    通常都把隊列比喻成排隊買東西,大家都很守秩序,先排隊的人就先買東西。但是優(yōu)先隊列有所不同,它不遵循先進先出的規(guī)則,而是根據(jù)隊列中元素的優(yōu)先權(quán),優(yōu)先權(quán)最大的先被取出,這篇文章主要介紹了java優(yōu)先隊列的真題,感興趣的朋友一起看看吧
    2022-07-07
  • IDEA不編譯除了.java之外的文件的解決辦法(推薦)

    IDEA不編譯除了.java之外的文件的解決辦法(推薦)

    這篇文章主要介紹了IDEA不編譯除了.java之外的文件的解決辦法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • JPA如何使用entityManager執(zhí)行SQL并指定返回類型

    JPA如何使用entityManager執(zhí)行SQL并指定返回類型

    這篇文章主要介紹了JPA使用entityManager執(zhí)行SQL并指定返回類型的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring?Security認證器實現(xiàn)過程詳解

    Spring?Security認證器實現(xiàn)過程詳解

    一些權(quán)限框架一般都包含認證器和決策器,前者處理登陸驗證,后者處理訪問資源的控制,這篇文章主要介紹了Spring?Security認證器實現(xiàn)過程,需要的朋友可以參考下
    2022-06-06
  • Struts2源碼分析之ParametersInterceptor攔截器

    Struts2源碼分析之ParametersInterceptor攔截器

    這篇文章主要介紹了Struts2源碼分析之ParametersInterceptor攔截器,ParametersInterceptor攔截器其主要功能是把ActionContext中的請求參數(shù)設(shè)置到ValueStack中,,需要的朋友可以參考下
    2019-06-06
  • SpringBoot整合Flyway實現(xiàn)數(shù)據(jù)庫的初始化和版本管理操作

    SpringBoot整合Flyway實現(xiàn)數(shù)據(jù)庫的初始化和版本管理操作

    Flyway?是一款開源的數(shù)據(jù)庫版本管理工具,它可以很方便的在命令行中使用,或者在Java應(yīng)用程序中引入,用于管理我們的數(shù)據(jù)庫版本,這篇文章主要介紹了SpringBoot整合Flyway實現(xiàn)數(shù)據(jù)庫的初始化和版本管理,需要的朋友可以參考下
    2023-06-06
  • Spring Boot集成MyBatis訪問數(shù)據(jù)庫的方法

    Spring Boot集成MyBatis訪問數(shù)據(jù)庫的方法

    這篇文章主要介紹了Spring Boot集成MyBatis訪問數(shù)據(jù)庫的方法,需要的朋友可以參考下
    2017-04-04
  • spring boot mogodb多條件拼接的解決方法

    spring boot mogodb多條件拼接的解決方法

    這篇文章主要介紹了spring boot mogodb多條件拼接的解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • 使用Java實現(xiàn)希爾排序算法的簡單示例

    使用Java實現(xiàn)希爾排序算法的簡單示例

    這篇文章主要介紹了使用Java實現(xiàn)希爾排序算法的簡單示例,希爾排序可以被看作是插入排序的一種更高效的改進版本,需要的朋友可以參考下
    2016-05-05
  • Java并發(fā)編程之CountDownLatch原理詳解

    Java并發(fā)編程之CountDownLatch原理詳解

    這篇文章主要介紹了Java并發(fā)編程之CountDownLatch原理詳解,CountDownLatch類中使用了一個繼承自AQS的共享鎖Sync對象,構(gòu)造CountDownLatch對象時會將傳入的線程數(shù)值設(shè)為AQS的state值,需要的朋友可以參考下
    2023-12-12

最新評論

江阴市| 新绛县| 马龙县| 江山市| 景德镇市| 柯坪县| 鹤岗市| 潞城市| 高邮市| 菏泽市| 铁力市| 玉环县| 东乌| 军事| 绵阳市| 中山市| 新建县| 定州市| 洱源县| 抚州市| 客服| 德令哈市| 元朗区| 天峨县| 农安县| 邳州市| 泾源县| 浮梁县| 白朗县| 海门市| 尼玛县| 阿拉善右旗| 海伦市| 阳高县| 曲水县| 徐水县| 寿宁县| 渝中区| 乌兰察布市| 理塘县| 财经|