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

  • 相关阅读:
    Java技术路线--2循环
    Java技术路线--1基本类型与包装类
    Linux内存管理之UMA模型和NUMA模型
    最长XX子串/数组/子序列
    epoll LT 模式和 ET 模式详解
    OS篇:OS中进程的阻塞与挂起的区别
    约瑟夫环问题
    最大公约数和最小公倍数
    C++之寻找素数(素数筛)
    Linux OOM机制分析
  • 原文地址:https://www.cnblogs.com/rollenholt/p/3395628.html
Copyright © 2011-2022 走看看