java迭代,Java 迭代器

 2023-10-15 阅读 26 评论 0

摘要:目前先簡單使用認識迭代器,留坑,后續深入了解 迭代器 從集合篇了解到,Java集合容器的種類有很多種,ArrayList、LinkedList、HashSet...,每種容器都有自己的特點,ArrayList底層維護的是一個數組;LinkedList是鏈表結構的

目前先簡單使用認識迭代器,留坑,后續深入了解

迭代器

從集合篇了解到,Java集合容器的種類有很多種,ArrayList、LinkedList、HashSet...,每種容器都有自己的特點,ArrayList底層維護的是一個數組;LinkedList是鏈表結構的;HashSet依賴的是哈希表,每種容器都有自己特有的數據結構。

因為容器的內部結構不同,很多時候可能不知道該怎樣去遍歷一個容器中的元素。所以為了使對容器內元素的操作更為簡單,Java引入了迭代器模式

把訪問邏輯從不同類型的集合類中抽取出來,從而避免向外部暴露集合的內部結構。

Iterator

Iterator iterList = li.iterator();  
while(iterList.hasNext()){System.out.println(iterList.next());
}
  • 最強大的迭代器
  • 它是一個接口類型,它不關心集合或數組的類型
  • 隨時能修改刪除元素
  • 能將遍歷的操作與序列底層的結構分離,隨時能換另一個遍歷對象,降低了耦合性

java迭代、這里之所以可以在遍歷過程中刪除元素而不影響索引,是需要使用接口自己的移除方法,否則還是會報錯

Foreach

for(int i :arr){System.out.println(i);
}
  • 最方便的迭代器
  • 需要先知道集合的類型,即需要訪問內部的成員
  • 失去了索引信息

迭代效率

  • 對于小數量級的數據(一萬以下),差別不大甚至for循環更快
  • 對于大數量級的數據,用iterator或foreach更快
  • 對于數組集合來說,三者差不多,foreach效率稍快
  • 對于鏈表集合來說,foreach和iterator效率一樣快,但是for最慢

轉載于:https://www.cnblogs.com/zohnn/p/11355028.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/138513.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息