美文网首页
Java8集合框架结构图

Java8集合框架结构图

作者: 牧码人zhouz | 来源:发表于2021-03-07 21:06 被阅读0次

    集合框架介绍

    在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework)。

    Java集合框架的好处主要有一下几点:

    • 降低程序员工作量。话外音:该有的数据结构和算法框架已经实现了,不用自己写了,直接用就可以了;
    • 提供了高性能的数据结构和算法实现,从而提高了性能。话外音:你们自己写的话有可能性能比较垃圾,我写好了高性能实现给你们用;
    • 减少了学习API的工作量。话外音:我把这些集合的API给抽象处理来,你们只要学习少量的通用API就行了,你就偷着乐吧;
    • 减少了设计和实现API的工作量。话外音:该做的我都给你们做了。

    综上所述,Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,使用集合提供的API就能工作的很好了,这样就大大提高了编程效率

    集合框架结构图

    再上一张简单点的


    集合框架的组成

    集合框架主要由以下几部分组成:

    • 集合接口
      表示不同类型的集合,例如ListSet以及Map。这些接口构成了框架的基础。

      • Collection
      • Set
      • List
      • Queue
      • Deque
      • Map
      • SortedSet
      • SortedMap
      • NavigableSet
      • NavigableMap
      • BlockingQueue
      • TransferQueue
      • BlockingDeque
      • ConcurrentMap
      • ConcurrentNavigableMap
    • 通用实现
      集合接口的通用实现。

      • HashSet
      • TreeSet
      • LinkedHashSet
      • ArrayList
      • ArrayDeque
      • LinkedList
      • PriorityQueue
      • HashMap
      • TreeMap
      • LinkedHashMap
    • 包装器实现
      为某些实现提供了额外的功能,比如同步。

      • Collections.unmodifiableInterface
      • Collections.synchronizedInterface
      • Collections.checkInterface
    • 适配器实现

      • newSetFromMap(map)
      • asLifoQueue(Deque)
    • 便利的实现
      集合接口的高性能迷你实现。

      • Arrays.asList
      • emptyList, emptySet, emptyMap
      • singleton, singletonList, singletonMap
      • nCopys
    • 遗留实现
      早期版本的集合类,包括VectorHashtable

      • Vector
      • Hashtable
    • 特殊功能实现

      • WeakHashMap
      • IdentityHashMap
      • CopyOnWriteArrayList
      • CopyOnWriteArraySet
      • EnumSet
      • EnumMap
    • 支持并发的实现
      专门为高并发设计的实现。

      • ConcurrentLinkedQueue
      • LinkedBlockingQueue
      • ArrayBlockingQueue
      • PriorityBlockingQueue
      • DelayQueue
      • SynchronousQueue
      • LinkedBlockingDeque
      • LinkedTransferQueue
      • ConcurrentHashMap
      • ConcurrentSkipListSet
      • ConcurrentSkipListMap
    • 抽象实现
      集合接口的部分实现以方便自定义实现。

      • AbstractCollection
      • AbstractSet
      • AbstractList
      • AbstractSequentialList
      • AbstractQueue
      • AbstractMap
    • 算法
      集合里的静态方法。

      • sort(List)
      • binarySearch(List, Object)
      • reverse(List)
      • shuffle(List)
      • fill(List, Object)
      • copy(List dest, List src)
      • min(Collection)
      • max(collection)
      • rotate(List list, int distanse)
      • replaceAll(List list, Object oldVal, Object newVal)
      • indexOfSubList(List source, List target)
      • lastIndexOfSubList(List source, List target)
      • swap(List, int, int)
      • frequency(Collection, Object)
      • disjoint(Collection, Collection)
      • addAll(Collection<? super T>, T...)
    • 基础设施
      为集合接口提供必要支持的接口。

      • Iterators
        • Iterator
        • ListIterator
      • Ordering
        • Comparable
        • Comparator
      • Runtime exceptions
        • UnSupportedOperationException
        • ConcurrentModificationException
      • Performance
        • RandomAccess
    • 数组工具
      为数组提供的工具函数。

      • Arrays

    相关文章

      网友评论

          本文标题:Java8集合框架结构图

          本文链接:https://www.haomeiwen.com/subject/azjyqltx.html