【发布时间】:2018-01-04 16:20:19
【问题描述】:
我想使用流实现以下目标:
List<MyObject> list1 = Arrays.asList(obj1, obj2, obj3);
List<Boolean> list2 = Arrays.asList(true, false, true);
List<MyObject> list = new ArrayList<>();
for(int i=0; i<list1.size();i++) {
if(list2.get(i))
list.add(list1.get(i));
}
有人可以帮忙吗?这应该很容易,但我是 java 流的新手。
注意: list1 和 list2 的长度总是相同的。
【问题讨论】:
-
这种方法有什么问题?
-
如果可能的话,你能不能形成一个
List<Entity>或List<Pair<YourObject, Boolean>>而不是创建两个独立的列表?另外,我不明白你为什么需要在这里使用流 -
@AndrewTobilko 那会怎样(单列)?
-
@ParagJ,例如对的列表 - 每对都有一个
MyObject和一个对应的Boolean值 (ob1=true,obj2=false)
标签: java lambda java-stream