美文网首页
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