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)

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

InterfaceHash TableResizable ArrayBalanced TreeLinked ListHash Table + Linked List
SetHashSet TreeSet LinkedHashSet
List ArrayList LinkedList 
Deque ArrayDeque LinkedList 
MapHashMap 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比

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习推荐算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值