java - 如何将一个类的 Iterable 转换为另一个类的 Iterable?

标签 java

我有一个可迭代的类:Iterable<ClassA> classAIterable 。我有这样的第二堂课:

public class ClassB {
    private final ClassA classA;
    public ClassB(ClassA a) {
        this.classA = a;
    }
}

我想拿每个ClassA classAIterable 中的对象并将其变成ClassB包含 ClassA 的对象对象并将它们放入 ClassB 的迭代中。

我该怎么做?谢谢!

最佳答案

您可以通过使用 StreamSupport.stream 访问 SpliteratorIterable 转换为 Stream 。在Stream中,您可以将ClassA中的元素映射到ClassB,然后将它们收集到List中,即可迭代

Iterable<ClassB> iterB = StreamSupport.stream(iterable.spliterator(), false)
    .map(ClassB::new)
    .collect(Collectors.toList());

关于java - 如何将一个类的 Iterable 转换为另一个类的 Iterable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37058249/

相关文章:

java - 如何在Intellij IDEA 15中用Tomcat8运行 "hello world"JSP页面?

Java应用程序无法连接到openshift中的mysql数据库

java - 使用 ant 创建 Jar 会产生错误的输出

java - 使用 hashmap 的剪刀石头布游戏

java - 动态更新 JComboBox (NullPointerException)

java - 运行时错误 : java. lang.ClassNotFoundException : com. mysql.jdbc.Driver

java - 关于从文件读取时跳过备用行的解释?

java - 如何在 Eclipse 中打开 Java 项目(使用 Maven)? (我使用M2E还是maven-eclipse-plugin)

java - 如何处理此类异常?

java - 防止 Enter 事件冒泡到主窗口