Java8:流映射同一流中的两个属性
2022-09-03 18:15:10
我有一个具有以下签名的类:Model
class Model {
private String stringA;
private String stringB;
public Model(String stringA, String stringB) {
this.stringA = stringA;
this.stringB = stringB;
}
public String getStringA() {
return stringA;
}
public String getStringB() {
return stringB;
}
}
我想将 a 映射到在单个流中同时包含字符串 A 和字符串 B 的List<Model>
List<String>
List<String> strings = models.stream()
.mapFirst(Model::getStringA)
.thenMap(Model::getStringB)
.collect(Collectors.toList());
艺术
List<String> strings = models.stream()
.map(Mapping.and(Model::getStringA,Model::getStringB))
.collect(Collectors.toList());
当然,它们都没有编译,但你明白了。
这在某种程度上可能吗?
编辑:
例:
Model ab = new Model("A","B");
Model cd = new Model("C","D");
List<String> stringsFromModels = {"A","B","C","D"};