[英]java 8 stream groupBy and new object creation
假设我有两个类C1和C2,其中C2由C1的构造函数使用:
public class C1
{
public C1( C2 o2 ){ ... }
public String getProperty()
{
String result;
...
return result;
}
}
现在,我有了一个C2对象列表(列表列表),我想使用从流式传输的C2对象创建的C1的getProperty()上的条件来流式传输和过滤。
有没有办法用流来做到这一点?
List<C2> list = ...
List<C2> result = list.stream().filter( XXXX )
我猜我应该有XXXX,该XXXX使用流中的C2对象创建一个C1对象并比较其getProperty()(例如,“ value” .equals(o2.getProperty()))
这有可能吗?
您将丢弃这些实例,但是请确保
list.stream().filter(c2 -> "value".equals(new C1(c2).getProperty())).collect(toList());
这似乎有些倒退。 也许此属性的逻辑应放在C2
类或某些实用程序类(静态方法)或为给定C2
实例提供属性的实例中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.