如何使用Java流将多个列表转换为单个列表?
2022-09-01 22:51:10
我有一个有多个成员的班级。A
List
class A {
List<X> xList;
List<Y> yList;
List<Z> zList;
// getters and setters
}
class X {
String desc;
String xtype;
// getters and setters
}
class Y {
String name;
String ytype;
//getters and setters
}
class Z {
String description;
String ztype;
// getters and setters
}
以及一个只有 2 个属性的类:B
class B {
String name;
String type;
}
我需要循环访问类中的各种列表,并创建类对象并添加到如下列表中:A
B
public void convertList(A a) {
List<B> b = new ArrayList<>();
if (!a.getXList().isEmpty()) {
for (final X x : a.getXList()) {
b.add(new B(x.getDesc(), x.getXType()));
}
}
if (!a.getYList().isEmpty()) {
for (final Y y : a.getYList()) {
b.add(new B(y.getName(), y.getYType()));
}
}
if (!a.getZList().isEmpty()) {
for (final Z z : a.getZList()) {
b.add(new B(z.getDescription(), z.getZType()));
}
}
}
正如 if 和 for 循环在这里重复的那样。
如何使用 Java 流实现此目的?
注意: 类之间没有关系,也没有公共接口。X
Y
Z