在本系列中咱们首先来学习一些Guava的集合框架,也就是这个package:com.google.common.collectjava
在这个包下面有一些通用的集合接口和一些相关的类。api
集合类型:
BiMap
它是java.util.Map接口的一个扩展,它的特性就是它的key和value都是惟一的而且是一一对应的。也就是说“可逆”。简单的描述就是根据key能拿到惟一的value,根据value也可以拿到惟一的key。
Multiset
它是Collection的扩展,就如同List同样可以容纳重复的值。它的典型应用就是“直方图”。
Multimap
Multimap是一个新类型,有点相似java.util.Map,可是可能对于相同的key含有多个entries。
ListMultimap
ListMultimap是Multimap的一个扩展,也可以容纳相同的entries,同时支持随机访问一个特定key的值。oracle
SetMultimap
SetMultimap是Multimap的一个扩展,不允许容纳相同的entries,也就是说若是有相同的key出如今SetMultimap中,那么这些key对应的值必定是不相同的。框架
SortedSetMultimap
SortedSetMultimap是SetMultimap的一个扩展,对于一个给定的key对应的value是一个SortedSet。post
Table
Table是一个新的类型,有点象java.util.Map,可是它是根据行key和列key的坐标来索引value的。学习
ClassToInstanceMap
An extension of Map
that associates a raw type with an instance of that type.google
集合的实现
List
ImmutableListspa
Set
ImmutableSet
ImmutableSortedSet
ContiguousSet (see Range) code
Map
ImmutableMap
ImmutableSortedMap
MapMaker
BiMap
ImmutableBiMap
HashBiMap
EnumBiMap
EnumHashBiMap
Multiset
ImmutableMultiset
HashMultiset
LinkedHashMultiset
TreeMultiset
EnumMultiset
ConcurrentHashMultiset
Multimap
ImmutableMultimap
ImmutableListMultimap
ImmutableSetMultimap
ArrayListMultimap
HashMultimap
TreeMultimap
LinkedHashMultimap
LinkedListMultimap
Table
ImmutableTable
ArrayTable
HashBasedTable
TreeBasedTable
ClassToInstanceMap
ImmutableClassToInstanceMap
MutableClassToInstanceMap
Classes of static utility methods
Collections2
Iterators
Iterables
Lists
Maps
Queues
Sets
Multisets
Multimaps
Tables
ObjectArrays
Comparison
Ordering
ComparisonChain
Abstract implementations
AbstractIterator
AbstractSequentialIterator
ImmutableCollection
UnmodifiableIterator
UnmodifiableListIterator
Ranges
Range
RangeMap
DiscreteDomain
ContiguousSet
Other
Interner, Interners
Constraint, Constraints
MapConstraint, MapConstraints
MapDifference, SortedMapDifference
MinMaxPriorityQueue
PeekingIterator
Forwarding collections
ForwardingCollection ForwardingConcurrentMap ForwardingIterator ForwardingList ForwardingListIterator ForwardingListMultimap ForwardingMap ForwardingMapEntry ForwardingMultimap ForwardingMultiset ForwardingNavigableMap ForwardingNavigableSet ForwardingObject ForwardingQueue ForwardingSet ForwardingSetMultimap ForwardingSortedMap ForwardingSortedMultiset ForwardingSortedSet ForwardingSortedSetMultimap ForwardingTable