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

  • 相关阅读:
    python2的比较函数,cmp
    快速排序
    如果a,b,c为自然数,a+b+c=1000,a方+b方=c方,求出abc可能的组合(python实现)
    python之join
    python之functools partial
    Python 3 iter函数用法简述
    python线程之condition
    python 线程 event
    getattr getattribute setattr hasattr delattr
    Properties类
  • 原文地址:https://www.cnblogs.com/KingIceMou/p/8085028.html
Copyright © 2011-2022 走看看