Guava 集合框架


在本系列中我們首先來學習一些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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM