小编daf*_*ket的帖子

使用Guava将多个集合<A>合并到集合<B>中的单个集合<A>中

我想要做的就是使用好的旧循环非常简单.

假设我有一个包含B列表的对象A.

public class A
{
  public List<B> myListOfB;
}
Run Code Online (Sandbox Code Playgroud)

在其他一些方法中,我有一个As的列表.基本上,我想要做的是合并所有我的B的B列表中的所有元素.

例如,使用循环编写类似的内容非常容易:

public List<B> someMethod(List<A> myListOfAs)
{
  List<B> toReturn = new ArrayList<A>();
  for(A myA : myListOfAs)
  {
    toReturn.addAll(myA.myListOfB);
  }
  return toReturn;
}
Run Code Online (Sandbox Code Playgroud)

但是我想用Guava以更加有效的方式做到这一点.这个例子非常简单,但是例如条件可能要复杂得多,因此使用函数式编程是有意义的.

我对番石榴很新.我已经开始使用它进行过滤和排序,但我很确定也可以使用它,但我无法弄清楚如何使用它.我发现这个将多个集合合并为一个逻辑集合?但它并没有真正回答我的问题.

java collections merge transform guava

4
推荐指数
1
解决办法
4694
查看次数

标签 统计

collections ×1

guava ×1

java ×1

merge ×1

transform ×1