Java 8 将对象列表{string,strings}转换为字符串流,如;main 1 sub1“&引用;main 1 sub2“&引用;main2 sub3“;
我有一个Category类的对象列表Java 8 将对象列表{string,strings}转换为字符串流,如;main 1 sub1“&引用;main 1 sub2“&引用;main2 sub3“;,java-8,java-stream,Java 8,Java Stream,我有一个Category类的对象列表 class Category { String main; List<String> subs; } Requested是一个完整但简短的示例 public class Category { String main; List<String> subs = new ArrayList<>(); public static void main(String[] args) { List<
class Category {
String main;
List<String> subs;
}
Requested是一个完整但简短的示例
public class Category {
String main;
List<String> subs = new ArrayList<>();
public static void main(String[] args) {
List<Category> categories = new ArrayList<>();
for ( int i = 0; i < 3; i++) {
Category cat = new Category();
cat.main = "cat-" + i;
for( int j = 0; j < 4; j++) {
cat.subs.add( "sub-" + i + "-" + j);
}
categories.add( cat);
}
categories.stream()
.flatMap( ???).forEach( x -> System.out.println( x));
}
}
公共类类别{
主弦;
List subs=new ArrayList();
公共静态void main(字符串[]args){
列表类别=新建ArrayList();
对于(int i=0;i<3;i++){
类别cat=新类别();
cat.main=“cat-”+i;
对于(int j=0;j<4;j++){
目录子项添加(“子项-”+i+“-”+j);
}
类别。添加(cat);
}
类别.流()
.flatMap(???).forEach(x->System.out.println(x));
}
}
您可以在子文件上进行流式处理,然后转换为您的格式并展平列表
listOfcategories.stream()
.flatMap(c -> c.getSubs().stream().map(s -> c.getMain() + " " + s))
.collect(Collectors.toList());
回答得很好!非常感谢你。
listOfcategories.stream()
.flatMap(c -> c.getSubs().stream().map(s -> c.getMain() + " " + s))
.collect(Collectors.toList());