Java 8流联接并返回多个值

维丹斯:

我正在将一段代码从.NET移植到Java,偶然发现了一个我想使用流来映射和简化的场景。

class Content
{
  private String propA, propB, propC;
  Content(String a, String b, String c)
  {
    propA = a; propB = b; propC = c;
  }
  public String getA() { return propA; }
  public String getB() { return propB; }
  public String getC() { return propC; }
}

List<Content> contentList = new ArrayList();
contentList.add(new Content("A1", "B1", "C1"));
contentList.add(new Content("A2", "B2", "C2"));
contentList.add(new Content("A3", "B3", "C3"));

我想编写一个可以流过contentlist内容并返回带有结果的类的函数

content { propA = "A1, A2, A3", propB = "B1, B2, B3", propC = "C1, C2, C3" }

我对Java相当陌生,因此您可能会发现一些类似于C#而不是Java的代码

Mrinal:

您可以在reduce函数中BinaryOperator使用适当的lambda

Content c = contentList
            .stream()
            .reduce((t, u) -> new Content(
                                  t.getA() + ',' + u.getA(),
                                  t.getB() + ',' + u.getB(), 
                                  t.getC() + ',' + u.getC())
                   ).get();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章