任何对 JDK 集合框架有经验的程序员都熟悉和喜欢 JDK 集合包的工具方法。Guava 沿着这些路线提供了更多的工具方法,适用于所有集合的静态方法。这是 Guava 最流行和成熟的部分之一。
Guava 集合类与 JDK 关系
我们用相对直观的方式把工具类与特定集合接口的对应关系归纳如下:
集合接口 | 属于 JDK 还是 Guava | 对应的 Guava 工具类 |
Collection | JDK | Collections2:不要和 java.util.Collections混淆 |
List | JDK | Lists |
Set | JDK | Sets |
SortedSet | JDK | Sets |
Map | JDK | Maps |
SortedMap | JDK | Maps |
Queue | JDK | Queues |
Multiset | Guava | Multisets |
Multimap | Guava | Multimaps |
BiMap | Guava | Maps |
Table | Guava | Tables |
Guava 具体集合类
Collections2 类
Collections2 类主要有几种对外方法,分别如下:
- filter(Collection<E> unfiltered, Predicate<? super E> predicate):过滤器功能,可以用来对 Collection 集合对象进行过滤。
- transform(Collection<F> fromCollection, Function<? super F, T> function):用来转换集合中的元素。