在本系列中我们首先来学习一些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

最新文章

  1. 四种比较简单的图像显著性区域特征提取方法原理及实现-----> AC/HC/LC/FT。
  2. ios语音识别
  3. Gerald's Hexagon
  4. 移动端网页 -- 安卓与IOS兼容
  5. unity3d android互调
  6. hdu5909-Tree Cutting(树形dp)
  7. 什么是SEO?SEO干嘛的?怎么做SEO?
  8. Android中常用的颜色
  9. SDN理解:SDN现状
  10. HTML 头标签的 <title> <base> <meta> <link> <script> 的内容意思
  11. Ionic3 一些命令
  12. scrapy相关:splash安装 A javascript rendering service 渲染
  13. Java新帮派——数组
  14. Scrollview包裹布局问题。
  15. hdu 2191 悼念512汶川大地震遇难同胞 【多重背包】(模板题)
  16. Golang获取int数组里的最大值和下标
  17. xe5 android sample 中的 SimpleList 是怎样绑定的 [转]
  18. 22.executor service Flask
  19. 由一条普通的link引用引发的无数问号,大家能回答的帮忙回答回答吧.
  20. FW:stash install

热门文章

  1. Alpha版本发布说明
  2. Java应用程序项目的打包与发行(run.bat形式)
  3. Webwork 学习之路【02】前端OGNL试练
  4. Theano3.5-练习之深度卷积网络
  5. GridView的 OnRowDataBound 事件用法
  6. webpack 教程资源收集
  7. 屠龙之路_战胜狮身人面怪物_SecondDay
  8. AngularJS 日期转换字符串
  9. selector 和 shape结合使用
  10. 【转】JSP中文乱码问题终极解决方案