java集合框架复习

Java集合框架综述

两大基类Collection与Map

在集合框架的类继承体系中,最顶层有两个接口:

  • Collection表示一组纯数据
  • Map表示一组key-value对

一般继承自CollectionMap的集合类,会提供两个“标准”的构造函数:

  • 没有参数的构造函数,创建一个空的集合类
  • 有一个类型与基类(CollectionMap)相同的构造函数,创建一个与给定参数具有相同元素的新集合类

因为接口中不能包含构造函数,所以上面这两个构造函数的约定并不是强制性的,但是在目前的集合框架中,所有继承自CollectionMap的子类都遵循这一约定。

Collection

java-collection-hierarchy                                                                               java-collection-hierarchy

如上图所示,Collection类主要有三个接口:

  • Set表示不允许有重复元素的集合(A collection that contains no duplicate elements)
  • List表示允许有重复元素的集合(An ordered collection (also known as a sequence))
  • Queue JDK1.5新增,与上面两个集合类主要是的区分在于Queue主要用于存储数据,而不是处理数据。(A collection designed for holding elements prior to processing.)

Map

MapClassHierarchy

                                                 MapClassHierarchy

Map并不是一个真正意义上的集合(are not true collections),但是这个接口提供了三种“集合视角”(collection views ),使得可以像操作集合一样操作它们,具体如下:

  • 把map的内容看作key的集合(map’s contents to be viewed as a set of keys)
  • 把map的内容看作value的集合(map’s contents to be viewed as a collection of values)
  • 把map的内容看作key-value映射的集合(map’s contents to be viewed as a set of key-value mappings)

集合的实现(Collection Implementations)

实现集合接口的类一般遵循<实现方式>+<接口>的命名方式,通用的集合实现类如下表:

Interface Hash Table Resizable Array Balanced Tree Linked List Hash Table + Linked List
Set HashSet   TreeSet   LinkedHashSet
List   ArrayList   LinkedList  
Deque   ArrayDeque   LinkedList  
Map HashMap   TreeMap   LinkedHashMap

01. Java 集合系列01之 总体框架

02. Java 集合系列02之 Collection架构

03. Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例

04. Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)

05. Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例

06. Java 集合系列06之 Vector详细介绍(源码解析)和使用示例

07. Java 集合系列07之 Stack详细介绍(源码解析)和使用示例

08. Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)

09. Java 集合系列09之 Map架构

10. Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例

11. Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例

12. Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例

13. Java 集合系列13之 WeakHashMap详细介绍(源码解析)和使用示例

14. Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)

15. Java 集合系列15之 Set架构

16. Java 集合系列16之 HashSet详细介绍(源码解析)和使用示例

17. Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例

18. Java 集合系列18之 Iterator和Enumeration比

猜你喜欢

转载自blog.csdn.net/i_silence/article/details/106663750
今日推荐