[英]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.