zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Android中,粗暴的方式,修改字体
    Android 修改字体,跳不过的 Typeface
    Android 字体修改,所有的细节都在这里 | 开篇
    当你在设置里修改字体大小的时候,到底在修改什么
    使用 Palette 让你的 UI 色彩与内容更贴合
    View.post() 不靠谱的地方你知道吗?
    九月了,回头看看八月你错过的原创好文
    海外 App 的推送服务,试试 FCM 吧!!!
    微信原图泄露的只能是 Exif ,你的隐私不在这!!!
    RecyclerView 配合 DiffUtil,好用到飞起
  • 原文地址:https://www.cnblogs.com/KingIceMou/p/8085028.html
Copyright © 2011-2022 走看看