国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Java集合框架迭代器Iterator實現原理解析

瀏覽:2日期:2022-08-27 14:39:40

使用循環遍歷集合

普通for循環

for(int i=0;i<10;i++){}

增強for循環

for(String str:list){}

什么是迭代器Iterator

Iterator是Java中的一個接口,核心作用就是用來遍歷容器的元素,當容器實現了Iterator接口后,可以通過調用Iterator()方法獲取一個Iterator對象

為啥是調用容器里面的Iterator方法呢?

因為容器的實現有多種,不同的容器遍歷規則不一樣,比如:ArrayList、LinkedList、HashSet、TreeSet等,所以設計了Iterator接口,讓容器本身去實現這個接口,實現里面的方法,從而讓開發人員不用關心容器的遍歷機制,直接使用對應的方法即可

三個核心方法

boolean hashNext():用于判斷Iterator內是否有下個元素,如果有則返回true,沒有則false Object next():返回Iterator的下一個元素,同時指針也會向后移動一位 void remove():刪除指針的上一個元素(建議使用自己容器里的方法)

public static void testSet() { Set<String> set = new HashSet<>(); set.add('jack'); set.add('tom'); set.add('marry'); set.add('tony'); set.add('jack'); Iterator<String> iterator = set.iterator(); while (iterator.hasNext()) { String str = iterator.next(); System.out.println(str); } } public static void testList() { List<String> list = new ArrayList<>(); list.add('jack'); list.add('tom'); list.add('mary'); list.add('tim'); list.add('tony'); list.add('eric'); list.add('jack'); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String str = iterator.next(); System.out.println(str); } }

迭代器和for循環對比

for循環適合順序訪問,或者通過下標進行訪問 迭代器適合鏈式結構 最終要看使用場景,性能會有輕微差別,但是可以忽略

注意事項

迭代出的對象是引用的拷貝,如果修改迭代中的元素,那么就是修改容器對象的本身!!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 黑人一级黄色片 | 成人国产片免费 | 久久草在线视频 | 女人张开双腿让男人桶爽免 | 91精品国产福利尤物免费 | 国产一区二区三区影院 | 亚洲天堂男人 | 毛片观看网址 | 欧美一级欧美三级在线观看 | 日本成人三级 | 青青影院一区二区免费视频 | 日韩成人三级 | 午夜欧美精品久久久久久久久 | 中文字幕亚洲精品久久 | 日本加勒比一区 | 免费看特黄特黄欧美大片 | 日韩欧美视频在线一区二区 | 亚洲国产高清在线精品一区 | 成人自拍视频在线 | 日美三级 | 一级毛片免费观看不卡视频 | 日本高清色本在线www游戏 | 欧美变态一级毛片 | 国产精品1区2区3区 国产精品1区2区3区在线播放 | 成人精品视频一区二区三区 | 国产乱子伦视频大全 | 日本一级特黄在线播放 | 久久99精品视频在线在线观看 | 宅女深夜福利视频在线 | 国产九九免费视频网站 | 中文字幕亚洲综合久久男男 | 欧美日韩ay在线观看 | 亚洲性在线观看 | 国产精品视频久 | 国产精品美女久久福利网站 | 免费aⅴ片 | 亚洲激情 欧美 | 亚洲精品久久九九热 | 欧美午夜不卡在线观看最新 | 国产三级精品美女三级 | 性盈盈影院影院67194 |