Iterate an Enumeration in Java 8(在 Java 8 中迭代枚举)
问题描述
是否可以使用 Lambda 表达式迭代 Enumeration
?以下代码片段的 Lambda 表示形式是什么:
Is it possible to iterate an Enumeration
by using Lambda Expression? What will be the Lambda representation of the following code snippet:
Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
while (nets.hasMoreElements()) {
NetworkInterface networkInterface = nets.nextElement();
}
我没有在其中找到任何流.
I didn't find any stream within it.
推荐答案
如果您不喜欢 Collections.list(Enumeration)
将整个内容复制到(临时)列表中在迭代开始之前,您可以通过一个简单的实用方法帮助自己:
In case you don’t like the fact that Collections.list(Enumeration)
copies the entire contents into a (temporary) list before the iteration starts, you can help yourself out with a simple utility method:
public static <T> void forEachRemaining(Enumeration<T> e, Consumer<? super T> c) {
while(e.hasMoreElements()) c.accept(e.nextElement());
}
然后您可以简单地执行 forEachRemaining(enumeration, lambda-expression);
(注意 import static
功能)...
Then you can simply do forEachRemaining(enumeration, lambda-expression);
(mind the import static
feature)…
这篇关于在 Java 8 中迭代枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Java 8 中迭代枚举
基础教程推荐
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01