增强型For循环没什么好说的,Just see links:
http://www.leepoint.net/notes-java/flow/loops/foreach.html
http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html
本篇唯一想说的是,如何在自定义的数据结构或说对象容器上使用增强型For循环?答案是让自定义的数据结构实现Iterable<T>接口。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IterableTest {
public static void main(String[] args) {
MyList myList = new MyList();
myList.getEntries().add(new MyList.Entry(1,"zhang"));
myList.getEntries().add(new MyList.Entry(2,"liu"));
for (MyList.Entry entry : myList) {
System.out.println(entry.getId() + " : " + entry.getName());
}
}
}
class MyList implements Iterable<MyList.Entry> {
private List<Entry> entries = new ArrayList<Entry>();
public static class Entry {
private int id;
private String name;
public Entry(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
@Override
public Iterator<Entry> iterator() {
return entries.iterator();
}
public List<Entry> getEntries() {
return entries;
}
}
分享到:
相关推荐
检查Iterable是否为空 比Array.from(iterable).length效率更高,因为它仅迭代第一项,这对于动态迭代器可能会产生很大的影响,例如Generator执行昂贵的操作。 安装 $ npm install is-empty-iterable 用法 import ...
使用您的API密钥实例化该类: $ iterable = new Iterable ( 'YOUR API KEY' );例子清单显示所有列表: $ iterable -> lists (); 订阅用户到列表: $ iterable -> list_subscribe ( $ list_id , array (array ( '...
Java源码分析Iterable.pdf
一个类如果实现了Iterable接口,就意味着“该类本身支持遍历”,并可以通过for-each这种循环语法来直接遍历。当然,一个类如果没有实现Iterable接口,也可以通过挂载外部迭代器Iterator进行遍历。 此外,内部迭代器...
Collection接口继承自Iterable接口,这意味着可以通过for-each循环遍历集合元素。 List接口是有序的集合,可以包含重复的元素。List接口提供了按照索引位置访问元素的方法,以及添加、删除和修改元素的操作。List...
资源来自pypi官网。 资源全名:iterable-queue-1.2.0.tar.gz
注意:使用ES2018中的,这些仅在Node.js v10,Firefox 57+和Edge 16中有效。 复制文件ff-example.js并将其粘贴到Firefox的控制台中,以查看运行是否成功。 npm install callbag-to-async-iterable 例子 const {...
值得注意的是,Python的for循环不同于其他语言中的传统for循环,它更像是“for each”循环,直接遍历可迭代对象的元素,而不需要手动管理索引或迭代器。这种简洁的语法使得for循环在Python中非常常用且易于理解。 ...
资源分类:Python库 所属语言:Python 资源全名:iterable_orm-0.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
mParticle的Iterable集成主要在服务器端。 该套件是一个可选的附加组件,用于处理可迭代的深层链接。 添加整合 将工具包依赖项添加到应用程序的build.gradle中: dependencies { implementation ' ...
java8流源码java8-功能 一些重要的 Java 8 特性是 Java 流 API Iterable 接口中的 forEach() 方法 接口中的默认和静态方法 函数式接口和 Lambda 表达式 Java时间API 集合 API 改进 并发 API 改进 选修课 Java 中的 ...
返回iterable的第一项。 安装 npm install --save first-of-iterable 用法 const firstOfIterable = require ( 'first-of-iterable' ) console . log ( firstOfIterable ( [ ] ) ) //=> undefined console . log ( ...
遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。 具有iterable类型的集合可以通过新的for ... of循环来遍历。 ...
java 中 Iterator 与Iterable的作用;java语言需要更多基础沉淀,扎扎实实,后面的各种项目都会如何天翼。进行更高阶的用法和一些框架的原理都离开最基础的东西,基础虽然枯燥,但是也很有乐趣。
下面小编就为大家带来一篇java集合_浅谈Iterable和Iterator的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
因为和迭代器相比有一个很大的不同,list/truple/map/dict这些数据的大小是确定的,也就是说有多少事可知的。但迭代器不是,迭代器不知道要执行多少次,所以可以理解为不知道有多少个元素,每调用一次next(),就会往...
超全Java集合框架讲解 - 超全Java集合框架讲解 - 集合框架总览 - Iterator Iterable ListIterator - Map 和 Collection 接口 - Map 集合体系详解 - HashMap - LinkedHashMap - TreeMap - WeakHashMap - ...
返回java.lang.Iterable<com> 。 例如: package your.name ; import com.squareup.javapoet.JavaFile ; import com.squareup.javapoet.TypeSpec ; import static java.util.Collections.singletonList ; import ...
while 循环语句do...while 循环for 循环语句 跳转语句 break 语句 continue 语句面向对象 类也是-种对象对象的创建 属性和方法 构造方法 方法重载 方法的重写 初始化 类的初始化 成员初始化 构造器初始化初始化顺序 ...
Python 有两种类型的循环:for 循环和 while 循环。for 循环用来遍历可迭代对象。 可迭代对象是每次可以返回其中一个元素的对象, 包括字符串、列表和元组等序列类型,以及字典和文件等非序列类型。还可以使用迭代器...