我有一个可迭代的类:Iterable<ClassA> classAIterable
。我有这样的第二堂课:
public class ClassB {
private final ClassA classA;
public ClassB(ClassA a) {
this.classA = a;
}
}
我想拿每个ClassA
classAIterable
中的对象并将其变成ClassB
包含 ClassA
的对象对象并将它们放入 ClassB
的迭代中。
我该怎么做?谢谢!
最佳答案
您可以通过使用 StreamSupport.stream
访问 Spliterator
将 Iterable
转换为 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/