栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java8:当 forEach 需要索引

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java8:当 forEach 需要索引

首先创建一个List

然后输出list中的值使用 forEach就很简单了,直接使用
list.forEach(System.out::println);

就能直接输出list中的值

但是我们现在还想要获取list的索引要怎么办呢?

很可惜,Java8的 Iterable 并没有提供一个带索引的 forEach 方法。不过自己动手,丰衣足食——让我们自己写一个带索引的 forEach 方法:

import java.util.Objects;
import java.util.function.BiConsumer;


public class Iterables {

    public static  void forEach(
            Iterable elements, BiConsumer action) {
        Objects.requireNonNull(elements);
        Objects.requireNonNull(action);

        int index = 0;
        for (E element : elements) {
            action.accept(index++, element);
        }
    }
}

该 forEach 方法第一个参数为要遍历的 Iterable,第二个参数为 BiConsumer。BiConsumer 的输入参数第一个即索引,第二个为元素。

测试一下:

 Iterables.forEach(list,(index, s) -> {
            log.info("index:{},s:{}", + index, s);
        });


输出的结果也确实是我们想要的这样就可以了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/591641.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号