博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Guava 集合框架
阅读量:6208 次
发布时间:2019-06-21

本文共 2281 字,大约阅读时间需要 7 分钟。

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

转载地址:http://fakja.baihongyu.com/

你可能感兴趣的文章
android自动化框架简要剖析(一):运行原理+基本框架
查看>>
处理测试环境硬盘爆满
查看>>
Python函数积累
查看>>
jq挑战30天——打字机效果+小程序
查看>>
正则表达式怎样匹配 不包含特定字符串的字符串
查看>>
bzoj 2296: 【POJ Challenge】随机种子
查看>>
MPU和MCU的区别和选择
查看>>
js call
查看>>
apply和call用法
查看>>
学习笔记之-------UIScrollView 基本用法 代理使用
查看>>
如何理解运维
查看>>
Dom学习笔记
查看>>
JAVA流程控制学习总结
查看>>
nib和xib的区别
查看>>
== 和 is 的区别
查看>>
Apple Swift编程语言新手教程
查看>>
2018年,牛客网小白月赛5
查看>>
sql 锁
查看>>
生死相依:说说JQuery中die()、live()详解[翻译]
查看>>
UML建模工具Visio 、Rational Rose、PowerDesign的比较
查看>>