我有一个对象列表。
每个对象看起来像("1", "test","test1","25")
,如果我的值测试存在,我想从上面的示例对象过滤中创建两个对象,然后创建("1", "test","25")
,如果" test1"然后创建新对象("1", "test1","25")
所以如果列表中的对象是("1", "test","test1","25")
,
我将创建两个对象("1", "test","25")
和("1", "test1","25")
如果列表中的对象是("1", "test","","25")
,
我将只创建一个对象("1", "test","25")
答案 0 :(得分:3)
由于您的描述非常抽象,我只能在相同的抽象层次上告诉您解决方案。
您正在寻找flatMap
operation。您可以像
stream.flatMap(item -> condition(item)?
Stream.of(createItemA(item), createItemB(item)): // two elements
Stream.of(createItemA(item)) // single elment
// chain subsequent operations