1 Star 0 Fork 0

cinderella/java8

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Iterable.java 1.58 KB
一键复制 编辑 原始数据 按行查看 历史
cinderella 提交于 2025-11-01 09:40 +08:00 . JDK8 集合和JUC
/*
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package java.lang;
import java.util.Iterator;
import java.util.Objects;
import java.util.Spliterator;
import java.util.Spliterators;
import java.util.function.Consumer;
/**
* 实现这个接口允许一个对象成为for-each循环语句的目标 <p/>
*
* Iterable 是 Java 中的一个顶级接口,位于 java.lang 包中。
* 它是为了统一“可迭代对象”的概念而设计的,
* 表示实现该接口的类可以提供一个迭代器 (Iterator) 来逐个访问其内部的元素 <p/>
*
* @author chuming
* @create 2021/12/29 - 21:57
*
*/
public interface Iterable<T> {
// 返回一个内部元素为T类型的迭代器(JDK1.5只有这个接口)
// 获取一个迭代器
Iterator<T> iterator();
// 遍历内部元素,action意思为动作,指可以对每个元素进行操作(JDK1.8添加)
// 增强for语句
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
// 创建并返回一个可分割迭代器(JDK1.8添加),分割的迭代器主要是提供可以并行遍历元素的迭代器,可以适应现在cpu多核的能力,加快速度。
//(划重点:并行遍历元素 并行!)
default Spliterator<T> spliterator() {
return Spliterators.spliteratorUnknownSize(iterator(), 0);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/blackkeydestiny/java8.git
git@gitee.com:blackkeydestiny/java8.git
blackkeydestiny
java8
java8
master

搜索帮助