`
takkymj
  • 浏览: 128129 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Iterator和for

 
阅读更多
Iterator 好处:通用,对于所有集合,使用Iterator性能都一样, 客户端自身不维护遍历集合的"指针",所有的内部状态(如当前元素位置,是否有下一个元素)都由Iterator来维护,而这个Iterator由集合类通过工厂方法生成,因此,它知道如何遍历整个集合。
客户端从不直接和集合类打交道,它总是控制Iterator,向它发送"向前","向后","取当前元素"的命令,就可以间接遍历整个集合。




记录的存取方式有两种:一种是顺序存储,另一种是链接存储
对于顺序存储的记录可以根据其下标找到对应的记录,而链接存储(拿单链表为例)
则必须找到其前一个记录的位置才能够找到本记录。

所以for循环便于访问顺序存储的记录,比如数组等,效率略优于iterator
而迭代则更适用于链接存储的记录,虽然Java中有些底层通过链接存储原理实现的集合
也可以通过下标获取指定的记录,但是其每次都必须从链表头开始查找记录,这样会影响查找的效率


for遍历时,能改不能删
分享到:
评论

相关推荐

    深入解读JavaScript中的Iterator和for-of循环

    JavaScript中的Iterator和for-of循环是ES6(ECMAScript 2015)规范中引入的重要特性。它们为遍历数据结构提供了一种更加简洁、直观且功能强大的方法。在介绍这两个概念之前,我们先来回顾一下传统的遍历方法。 在...

    for,foreach,iterator的用法和区别

    "for、foreach、iterator的用法和区别" 在 Java 编程语言中,for、foreach 和 iterator 是三种常用的遍历数组和集合的方法。它们之间有相似之处,但也存在着许多不同之处。 相同点:三者都可以用来遍历数组和集合...

    一个使用iterator和json技术的实例

    在Java编程语言中,`Iterator`接口和`Iterable`接口是处理集合数据的重要工具,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于数据传输和存储。这个"iterator_jsonDemo"实例结合了这...

    ES6入门教程之Iterator与for...of循环详解

    总结来说,ES6中的Iterator和for...of循环提供了一种更简洁、统一的方式来遍历各种数据结构,使得开发者可以更方便地处理复杂的数据,提升了代码的可读性和可维护性。学习和掌握这些特性对于深入理解ES6及现代...

    ES6中Iterator与for..of..遍历用法分析

    **ES6中的Iterator和for..of遍历** 在ES6(ECMAScript 2015)中,引入了一个新的特性——迭代器(Iterator),它为各种不同的数据结构提供了统一的访问机制。迭代器允许开发者遍历任何可迭代对象,无论它们内部的...

    ECMAScript 6 入门教程-全面介绍 ECMAScript 6 新引入的语法特性

    15. Iterator 和 for...of 循环 16. Generator 函数的语法 17. Generator 函数的异步应用 18. async 函数 19. Class 的基本语法 20. Class 的继承 21. Decorator 22. Module 的语法 23. Module 的加载实现 24. 编程...

    模拟java ArrayList Iterator

    ArrayList提供了一种高效的方式来管理大量的元素,并且提供了迭代器(Iterator)来遍历这些元素,使得我们可以在不暴露底层实现细节的情况下访问和修改列表中的元素。这个资源的目的是通过模拟Java ArrayList的...

    一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。 将数据从后台传到Extjs表现层。

    一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。iterator_jsonDemo1的链接:http://download.csdn.net/detail/cafebar123/8816409 运用了Extjs,Struts... Comment more, for your reference.

    ECMAScript-6标准入门(第三版).zip

    15. Iterator 和 for...of 循环 16. Generator 函数的语法 17. Generator 函数的异步应用 18. async 函数 19. Class 的基本语法 20. Class 的继承 21. Decorator 22. Module 的语法 23. Module 的加载实现 24. 编程...

    迭代大师的修炼之道:Java中Iterator与增强for循环的深度解析

    本文将重点探讨两种常用的迭代方式——`Iterator`接口和`Enhanced for loop`(增强型for循环),并从多个角度对比分析它们的特点、应用场景以及使用技巧。 #### 二、Iterator:传统智慧的传承 **1. 概念** `...

    Iterator迭代器讲解

    例如,在`ArrayList`中,使用传统的`for`循环通常比使用`Iterator`更快,而`foreach`循环则介于两者之间。然而,在`LinkedList`等其他类型的集合中,`Iterator`的性能表现可能会优于传统的循环结构。 综上所述,`...

    java-util-iterator.pdf java-util-iterator.pdf

    这种语法糖不仅使得代码更加简洁易读,而且自动处理了获取`Iterator`和遍历元素的过程。 ### 五、不同集合类的Iterator实现 不同类型的集合类通常会有自己的`Iterator`实现。例如: - `ArrayList`可能会返回一个...

    1.ECMAScript 6简介1

    13. **Iterator和for...of循环**:Iterator允许遍历任何可迭代对象,for...of循环可以遍历Iterator接口返回的遍历器。 14. **Generator函数**:生成器允许写异步代码的方式更接近同步代码,通过`yield`关键字暂停和...

    es6知识点.pdf

    13. iterator和for...of循环 - ES6引入了iterator接口,定义了异步遍历器的结构,它为各种不同的数据结构提供了统一的遍历机制。 - for...of循环允许遍历实现了iterator接口的对象。 14. Generator函数 - ...

    C++使用iterator的例子

    首先,C++标准库定义了五种不同类型的迭代器:输入迭代器(Input Iterator)、输出迭代器(Output Iterator)、前向迭代器(Forward Iterator)、双向迭代器(Bidirectional Iterator)和随机访问迭代器(Random ...

    Iterator详解

    在Java编程语言中,迭代器(Iterator)是一个至关重要的工具,它提供了一种高效且简洁的方式来遍历和访问集合中的元素,而无需暴露集合的内部结构。迭代器设计模式遵循了“访问者”模式的原则,使得代码更加灵活和可...

    ECMAScript 6 入门

    - Iterator和for...of循环:新增迭代器(Iterator)接口和遍历器(for...of)循环,用于遍历数据结构。 - Generator函数:提供一种异步编程的解决方案。 - Module的语法和加载实现:引入了模块化编程的概念。 - 正则...

    0.前言1

    以上仅是ES6的部分特性概述,实际上还有更多细节和用法,如Proxy和Reflect用于元编程,Iterator和for...of循环,以及最新的提案和装饰器等。学习和掌握这些特性,能够帮助开发者更好地利用JavaScript进行现代Web开发...

Global site tag (gtag.js) - Google Analytics