手写一个方法实现Java8循环获取下标
/**
*
* @param elements 需要遍历集合的数据
* @param action 执行的方法
* @param <T>
*/
public static <T> void forEach(Iterable<? extends T> elements, BiConsumer<Integer, ? super T> action) {
Objects.requireNonNull(elements);
Objects.requireNonNull(action);
Integer index = 0;
for (T t : elements) {
action.accept(index, t);
index++;
}
}
具体使用如下:
public static void main(String[] args) {
List<String> stringList = new ArrayList<String>(16) {{
add("张三");
add("李四");
add("王二");
}};
// 使用案例
forEach(stringList, (index, item) -> {
System.out.println("当前循环下标:" + index);
System.out.println("当前循环数据:" + item);
});
}
}