pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Java中的Iterator接口有什么好處?

What are the benefits of the Iterator interface in Java?(Java中的Iterator接口有什么好處?)
本文介紹了Java中的Iterator接口有什么好處?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我剛剛了解了 Java 集合框架如何在鏈表中實現數據結構.據我了解, Iterators 是一種遍歷數據結構(如列表)中的項目的方法.為什么要使用這個接口?為什么 hasNext()next()remove() 方法不直接編碼到數據結構實現本身?

I just learned about how the Java Collections Framework implements data structures in linked lists. From what I understand, Iterators are a way of traversing through the items in a data structure such as a list. Why is this interface used? Why are the methods hasNext(), next() and remove() not directly coded to the data structure implementation itself?

來自 Java 網站:鏈接文本

From the Java website: link text

公共接口迭代器

An集合上的迭代器.迭代器代替枚舉中的Java 集合框架.迭代器在兩個方面不同于枚舉:

public interface Iterator<E>

An iterator over a collection. Iterator takes the place of Enumeration in the Java collections framework. Iterators differ from enumerations in two ways:

  • 迭代器允許調用者刪除來自底層的元素在迭代期間收集定義明確的語義.
  • 方法名稱已經改進.

    • Iterators allow the caller to remove elements from the underlying collection during the iteration with well-defined semantics.
    • Method names have been improved.

      我嘗試用谷歌搜索,但似乎找不到明確的答案.有人能解釋一下 Sun 選擇使用它們的原因嗎?是因為更好的設計嗎?提高安全性?好的 OO 實踐?

      I tried googling around and can't seem to find a definite answer. Can someone shed some light on why Sun chose to use them? Is it because of better design? Increased security? Good OO practice?

      任何幫助將不勝感激.謝謝.

      Any help will be greatly appreciated. Thanks.

      推薦答案

      為什么要用這個接口?

      Why is this interface used?

      因為它支持允許客戶端程序員迭代任何類型的集合的基本操作(注意:不一定是 Object 意義上的 Collection).

      Because it supports the basic operations that would allow a client programmer to iterate over any kind of collection (note: not necessarily a Collection in the Object sense).

      為什么方法...不是直接的編碼到數據結構實現本身?

      Why are the methods... not directly coded to the data structure implementation itself?

      他們是,他們只是被標記為私人,所以你不能接觸他們并與他們混為一談.更具體地說:

      They are, they're just marked Private so you can't reach into them and muck with them. More specifically:

      • 您可以實現 Iterator 或對其進行子類化,這樣它就可以做一些標準的不做的事情,而不必改變它所迭代的實際對象.
      • 可以遍歷的對象不需要讓它們的接口被遍歷方法弄得一團糟,尤其是任何高度專業化的方法.
      • 您可以將 Iterators 分發給任意數量的客戶端,每個客戶端都可以按照自己的速度以自己的時間遍歷.
      • 特別是 java.util 包中的
      • Java Iterators 如果支持它們的存儲在您仍然有 Iterator 輸出的情況下被修改,則會引發異常.此異常讓您知道 Iterator 現在可能正在返回無效對象.
      • You can implement or subclass an Iterator such that it does something the standard ones don't do, without having to alter the actual object it iterates over.
      • Objects that can be traversed over don't need to have their interfaces cluttered up with traversal methods, in particular any highly specialized methods.
      • You can hand out Iterators to however many clients you wish, and each client may traverse in their own time, at their own speed.
      • Java Iterators from the java.util package in particular will throw an exception if the storage that backs them is modified while you still have an Iterator out. This exception lets you know that the Iterator may now be returning invalid objects.

      對于簡單的程序,這似乎都不值得.不過,使它們有用的那種復雜性很快就會出現.

      For simple programs, none of this probably seems worthwhile. The kind of complexity that makes them useful will come up on you quickly, though.

      這篇關于Java中的Iterator接口有什么好處?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

      【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Java Remove Duplicates from an Array?(Java從數組中刪除重復項?)
How to fix Invocation failed Unexpected Response from Server: Unauthorized in Android studio(如何修復調用失敗來自服務器的意外響應:在 Android 工作室中未經授權)
AES encryption, got extra trash characters in decrypted file(AES 加密,解密文件中有多余的垃圾字符)
AES Error: Given final block not properly padded(AES 錯誤:給定的最終塊未正確填充)
Detecting incorrect key using AES/GCM in JAVA(在 JAVA 中使用 AES/GCM 檢測不正確的密鑰)
AES-256-CBC in Java(Java 中的 AES-256-CBC)
主站蜘蛛池模板: 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | 南京欧陆电气股份有限公司-风力发电机官网| 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 苏商学院官网 - 江苏地区唯一一家企业家自办的前瞻型、实操型商学院 | 净化工程_无尘车间_无尘车间装修-广州科凌净化工程有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 | 德国UST优斯特氢气检漏仪-德国舒赐乙烷检测仪-北京泽钏 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 氟塑料磁力泵-不锈钢离心泵-耐腐蚀化工泵厂家「皖金泵阀」 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 | 微妙网,专业的动画师、特效师、CG模型设计师网站! - wmiao.com 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 柴油机_柴油发电机_厂家_品牌-江苏卡得城仕发动机有限公司 | 采暖炉_取暖炉_生物质颗粒锅炉_颗粒壁炉_厂家加盟批发_烟台蓝澳采暖设备有限公司 | 首页 - 张店继勇软件开发工作室 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 江苏农村商业银行招聘网_2024江苏农商行考试指南_江苏农商行校园招聘 | 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 单柱拉力机-橡胶冲片机-哑铃裁刀-江都轩宇试验机械厂 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 米顿罗计量泵(科普)——韬铭机械 | 电位器_轻触开关_USB连接器_广东精密龙电子科技有限公司 |