Guava 集合框架

 

2013-10-29 23:33 by Rollen Holt, 3671 阅读, 0 评论, 收藏编辑

在本系列中我们首先来学习一些Guava的集合框架,也就是这个package:com.google.common.collect

在这个包下面有一些通用的集合接口和一些相关的类。

 

集合类型:

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的值。

SetMultimap

    SetMultimap是Multimap的一个扩展,不容许容纳相同的entries,也就是说如果有相同的key出现在SetMultimap中,那么这些key对应的值一定是不相同的。

SortedSetMultimap

    SortedSetMultimap是SetMultimap的一个扩展,对于一个给定的key对应的value是一个SortedSet。

Table

    Table是一个新的类型,有点象java.util.Map,但是它是根据行key和列key的坐标来索引value的。

ClassToInstanceMap

    An extension of Map that associates a raw type with an instance of that type.

 

集合的实现

 

List

    ImmutableList

Set

    ImmutableSet 
    ImmutableSortedSet 
    ContiguousSet (see Range) 

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

 

posted @ 2017-12-22 11:05  不会就问咯  阅读(1007)  评论(0编辑  收藏  举报