【发布时间】:2019-06-12 03:47:26
【问题描述】:
我有一个班级考试
public class Test{
String codes;
String field 1;
....
String field n;
}
我有一个测试对象列表
List<Test> objects, code can be one or more with a comma separated
testObj1("A", "field1".."fieldn")
testObj2("B,C", ...)
testObj3("D,E,F", ....)
testObj4("G", ...)
尝试通过保留剩余字段将这个list1 转换为新的list2,并将每个代码A、B、C...转换为自己的对象。
List<Test>
testObj1("A", ....)
testObj2("B", ....)
testObj3("C", ....)
list1.stream().collect(Collectors.toList())
我使用循环(Sudo 代码)实现了这一点,但正在寻找更好的逻辑
for(loop thru list1){
String[] codesArr = testObj1.codes.split(",");
for (String code : codesArr) {
//Create new Obj
Test obj = new Test(code, testObj1.copyotherfields);
//Add obj to list2
}
}
【问题讨论】:
-
“更好”是什么意思?
-
我的意思是使用 Java 流
-
以后,请明确说明您的要求。我无法通过您的问题知道是否存在性能问题、内存问题、正确性问题......
标签: java arraylist collections java-8 java-stream