如何将List <A>转换为List <B>?

Ale*_*lex 1 java list guava

如果A定义如下:

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

如果给出A的列表(列表aList),我怎样才能将它转换为包含存储在aList中每个元素中的所有B的List?我想用番石榴来做这件事.

Oli*_*ire 5

这应该成功.

ImmutableList<B> listOfBs = FluentIterable.from(listOfAs)
  .transformAndConcat(new Function<A, List<B>>(){
      public List<B> apply(A a) {
        return a.bList;
      }
   })
   .toList();
Run Code Online (Sandbox Code Playgroud)