早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。

虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题。由于这个原因,使用 Vector 类的方式和使用 Properties 类的方式有着很大不同。

集合框架被设计成要满足以下几个目标。

  • 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。

  • 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。

  • 对一个集合的扩展和适应必须是简单的。

为此,整个集合框架就围绕一组标准接口而设计。你可以直接使用这些接口的标准实现,诸如: LinkedListHashSet,  和  TreeSet 等,除此之外你也可以通过这些接口实现自己的集合。

从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。

集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容:

  • 接口:是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。之所以定义多个接口,是为了以不同的方式操作集合对象

  • 实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。

  • 算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。

除了集合,该框架也定义了几个 Map 接口和类。Map 里存储的是键/值对。尽管 Map 不是集合,但是它们完全整合在集合中。

集合框架体系如图所示

Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包。

最新文章

  1. 读书笔记--SQL必知必会18--视图
  2. Jmeter教程 简单的压力测试
  3. 文本切割软件Replace Pioneer
  4. SpringBoot-Learning
  5. OAuth 2.0攻击面与案例总结
  6. 下面将详细说明useradd与usermod 的参数及用法!
  7. 当插入数据失败时,防止mysql自增长字段的自增长的方法
  8. c# linq的一些运用
  9. sql中的IFNULL函数的应用
  10. 小强的HTML5移动开发之路(1)——HTML介绍
  11. spring boot整合shiro
  12. MySQL之 InnoDB记录结构(转自掘金小册 MySQL是怎样运行的,版权归作者所有!)
  13. Linq基础+Lambda表达式对数据库的增删改及简单查询
  14. node-服务器
  15. Flask之项目配置,目录构建,闪现
  16. Spring搭建练习遇到的坑
  17. python3 map,filter和列表推导式
  18. 0_Simple__vectorAdd + 0_Simple__vectorAdd_nvrtc + 0_Simple__vectorAddDrv
  19. git 拉取某个分支到本地
  20. SSH整合 第二篇 工程初建

热门文章

  1. C# 之 下载EXCEL文件,自动用迅雷下载aspx
  2. C# 之 反射性能优化3
  3. eclipse发布web
  4. gitlab之五: gitlab之webhook
  5. 做生活的有心人——xxx系统第一阶段总结
  6. day56 文件 文档处理,事件
  7. Linux下C语言进程通讯编程
  8. themeleaf跳转锚链接
  9. JavaEE-tomcat8.5的启动方法
  10. Java 之 OOAD