- 浏览: 109790 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (159)
- 前端开发 (6)
- jsp (4)
- jquery (17)
- 配置文件 (2)
- Spring (10)
- java (34)
- hibernate (9)
- VC++ win32 application (6)
- C++ (6)
- MFC文件夹对话框 (1)
- C (4)
- MFC (1)
- C# (3)
- 两个路由器怎么连接 (1)
- Maven3 (3)
- Servlet (10)
- Struts2 (6)
- jdom (1)
- Struts1 (1)
- Spring MVC (2)
- Ant (5)
- SSH (6)
- oracle 10g (1)
- ibatis (3)
- JPA (3)
- EJB (2)
- XML知识 (3)
- javascript (2)
- android (1)
- FreeMarker (1)
- dwr (1)
- Ext (10)
- EXCEL (1)
最新评论
到目前为止,foreach语法主要用于数组,但是它也可以应用于任何Collection对象。你实际上已经看到过很多使用ArrayList时用到它的示例,下面是一个更通用的证明: import java.util.*; public class ForEachCollections { /** * @param args */ public static void main(String[] args) { Collection<String> cs = new LinkedList<String>(); Collections.addAll(cs, "Take the long way home".split(" ")); for(String s : cs) { System.out.print("'" + s + "' "); } } } /* Output: 'Take' 'the' 'long' 'way' 'home' *///:~ 由于cs是一个Collection,所以这段代码展示了能够与foreach一起工作是所有Collection对象的特性。 之所以能够工作,是因为Java SE5引入了新的被称为Iterable的接口,该接口包含一个能够产生Iterator的iterator方法,并且Iterable接口被foreach用来在序列中移动。因此如果你创建了任何实现Iterable的类,都可以将它用于foreach语句中: package com.mldn.collection; import java.util.Iterator; public class IterableClass implements Iterable<String>{ private String[] words = ("And that is how we know the Earth to be banana-shaped.").split(" "); public static void main(String[] args) { /* for(String s : new IterableClass()) { System.out.print(s + " "); } */ IterableClass ic = new IterableClass(); Iterator<String> it = ic.iterator(); while(it.hasNext()) { System.out.print(it.next() + " "); } } public Iterator<String> iterator() { return new Iterator<String>() { private int index = 0; public boolean hasNext() { return index < words.length; } public String next() { return words[index++]; } public void remove() { // Not implemented throw new UnsupportedOperationException(); } }; } }
发表评论
-
java的日期操作类
2014-09-16 15:00 533package cn.mldn; import ja ... -
列表框 JList
2014-08-16 19:19 482package net.mindview.util; ... -
分页类
2014-02-23 15:05 510package com.yxq.model; pub ... -
java mail
2014-02-14 15:13 395package com.util.mail; /** ... -
Map输出方式一:Iterator输出Map
2014-02-12 11:49 882package com.mldn.map; impo ... -
Comparable
2014-02-11 20:16 389package org.lxh.demo13.setdem ... -
打印流
2014-02-07 20:10 449package com.bjsxt.print; i ... -
管道流
2014-02-07 17:23 444package com.bjsxt.buffer; ... -
Tramsform IO
2014-02-07 16:15 633package com.bjsxt.transform; ... -
Buffered IO
2014-02-07 15:02 577package com.bjsxt.buffer; ... -
字符流
2014-02-07 10:32 612package com.bjsxt.reader; ... -
字节流
2014-02-06 17:57 506package com.bjsxt.stream; ... -
RandomAccessFile类
2014-02-06 13:18 592使用RandomAccessFile类写入数据 impor ... -
排序啊啊啊啊
2013-09-18 10:32 452package cn.mldn; public cl ... -
java_匿名内部类
2013-04-10 15:26 957package com.bitsoft.inner; ... -
java_内部类
2013-04-10 14:05 788package com.diaodiao.inner; ... -
JAVA----- String方面的面试举例
2013-03-31 00:55 747[img] [/img] package com.t ... -
反射机制(2)
2013-03-20 20:39 717package com.bjsxt.demo; im ... -
反射机制
2013-03-17 22:19 470package org.dcl.demo; inte ... -
jdbc 存储过程
2013-03-13 15:13 719MySQL存储过程的创建 (1). 格式 MySQL存储过 ...
相关推荐
7. **迭代器模式与foreach循环**:Java 5引入的增强for循环(也称为foreach循环),底层就是迭代器模式的实现。例如: ```java for (Type element : collection) { // 处理element } ``` 这样的代码简洁且易于...
学习和实践迭代器模式对于任何C#开发者来说都是重要的,因为它可以帮助你编写更灵活、可维护的代码,同时也使你的代码与诸如 LINQ 这样的高级特性更好地集成。通过理解和应用迭代器模式,你可以更好地管理数据集合,...
`GetEnumerator`方法实际上是一个迭代器,当被外部代码(如foreach循环)调用时,会返回一个`IEnumerator<int>`对象,该对象可以通过`MoveNext()`和`Current`属性遍历序列。 在我们的“迭代器Demo”项目中,可能...
迭代器、分部类和索引器是编程中常见的概念,尤其在面向对象的语言中扮演着重要的角色。这里我们将深入探讨这些主题,并结合C#语言的特性进行详细讲解。 首先,我们来了解一下**迭代器**。迭代器是访问集合元素的一...
数组方法与迭代器相结合,为开发者提供了更加高效和灵活的数据操作方式。在本篇文章中,我们将深入探讨数组方法和ES6迭代器的相关知识点。 首先,让我们了解什么是迭代器。迭代器是一种协议,它定义了访问一系列值...
1.forEach迭代器 forEach方法接收一个函数作为参数,对数组中每个元素使用这个函数,只调用这个函数,数组本身没有任何变化 //forEach迭代器 function square(num){ [removed](num + ' ' + num*num + ' '); } ...
### 迭代器与增强型for循环 在实际开发中,我们经常看到增强型for循环(也称为foreach循环)被用于遍历集合,其实内部也是利用了迭代器的原理。增强型for循环的语法更加简洁,但它隐藏了迭代器的细节,使得代码更加...
### Iterator迭代器详解 #### 一、Iterator简介与概念 在Java编程语言中,`Iterator`接口是一个重要的组件,它提供了遍历集合的基本方法。`Iterator`的主要作用是在不暴露集合内部结构的情况下,顺序访问集合中的...
比如,在LINQ(Language Integrated Query)中,匿名方法常与迭代器一起使用,实现复杂的查询操作: ```csharp var evenNumbers = numbers.Where(x => x % 2 == 0).OrderByDescending(x => x); ``` 这里,`Where`...
迭代器模式是一种设计模式,它允许程序以特定的顺序遍历集合对象的元素,而无需直接暴露集合的内部结构。这种模式的核心在于提供一个独立于集合类的迭代器类,使得用户可以按照需要的方式遍历集合,同时也保护了集合...
本文将详细讨论如何在Joomla开发中使用迭代器,以及与传统遍历方法的比较。 首先,让我们了解什么是迭代器。迭代器是一种设计模式,它定义了一个访问集合元素的接口,同时不暴露其底层表示。在PHP5中,引入了多个...
在C#中,`foreach`循环背后就是迭代器模式的实现,可以轻松地遍历任何实现了`IEnumerable`接口的对象。 4. **C#中的迭代器和yield关键字** - C#语言提供了一种更简洁的迭代器实现方式,通过`yield return`关键字。...
在实际应用中,我们可以将迭代器模式与现实生活中的场景相联系。比如,参观博物馆时,游客(客户)并不需要了解展品的存放方式,只需通过导游(迭代器)指引,依次欣赏每个展品(元素)。这正是迭代器模式的体现,它...
2. **集合与迭代器的关系** 集合类通常提供一个`iterator()`方法,返回一个实现了`Iterator`接口的对象。这意味着每个集合都可以被迭代,这符合Java集合框架的设计原则。 3. **迭代器的分类** - **正向迭代器**:...
在C++中,我们可以使用迭代器模式来实现类似Java或C#中的foreach循环功能。 在给定的资源中,`IteratorPattern.cpp`和`IteratorPattern.h`是实现迭代器模式的源代码文件。通常,`IteratorPattern.cpp`包含类的实现...
常用的集合类Iterator迭代器的使用foreach循环 泛型Collections、Arrays工具
在计算机科学中,迭代器是一种设计模式,它提供了一种方法来顺序访问集合对象的元素,而无需暴露其底层的表示。迭代器模式在Java编程语言中得到了广泛的应用,特别是在处理集合类,如ArrayList、LinkedList等时。在...
在JavaScript中,我们可以轻松地使用内置的`forEach`方法来遍历数组,这就是迭代器的一种体现。但在早期版本的JavaScript(如IE9之前),我们需要使用`for`循环自行实现迭代。 例如,jQuery库中的`$.each`函数就是...
Java中的迭代器(Iterator)和foreach循环是两种常用的遍历集合和数组的方式。迭代器模式是一种行为设计模式,它的核心作用在于允许用户遍历任何集合或聚合对象的元素,而无需暴露其底层结构。在Java中,迭代器主要...
其中一个非常有用的功能是 SPL XML 迭代器,它允许开发者以迭代的方式处理XML文档,使得处理复杂的XML数据变得更为便捷。在本篇文章中,我们将深入探讨`SPL XML 迭代器`以及如何通过一个实际的`spliterator.php`文件...