Java知识回顾 (8) 集合
早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。
虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题。由于这个原因,使用 Vector 类的方式和使用 Properties 类的方式有着很大不同。
集合框架被设计成要满足以下几个目标。
-
该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。
-
该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。
-
对一个集合的扩展和适应必须是简单的。
为此,整个集合框架就围绕一组标准接口而设计。你可以直接使用这些接口的标准实现,诸如: LinkedList, HashSet, 和 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包中, 所以当使用集合框架的时候需要进行导包。
相关文章
- Java 版下载必应每日壁纸并自动设置 Windows 系统桌面(改编自 C# 版)
- JAVA–Map集合详解
- java强制删文件夹_Java 删除文件夹 和 文件 集合
- java 除法取商_java除法怎样取小数部分「建议收藏」
- java删除文件目录及文件_Java删除文件,目录
- java启动器_JAVA基础:Java 启动器如何查找类
- java和c语言哪个简单_Java编程和C语言哪个好学
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- java缓存设置_缓存数据可以清除吗
- J2EE是什么意思_main()函数是java程序的执行入口
- 【Java 集合】Java 集合的线程安全性 ( 加锁同步 | java.utils 集合 | 集合属性 | java.util.concurrent 集合 | CopyOnWrite 机制 )
- 【Android 内存优化】Java 引用类型 ( 强引用 | 软引用 | 弱引用 | 虚引用 )
- 【ES三周年】Java与Elasticsearch实战:GPT助您优化性能和可扩展性
- Java学习笔记之二十八深入了解Java8新特性详解编程语言
- 注册MySQL,让你的Java技能更上一层楼(java注册mysql)
- Java异步MySQL:开启数据处理新时代(java异步mysql)
- Java Set.remove()方法:移除Set集合中的指定对象
- Java项目实战之同城信息网站(类似58同城)开发
- 实现Java实现Redis集合的技术研究(redis集合java)
- 缓存使用Redis与Java构建有效的过期缓存系统(redisjava过期)
- Java学习Linux基础的必要性(java要学linux)
- Java实现MySQL数据插入(java插入mysql)
- 使用Java轻松读取Redis数据 – 一步一步指南!(java读取redis)
- 市场Oracle公司助力Java攻克市场(oracle公司java)
- Java解答Oracle使用更轻松的实现方式(oracle写成java)
- Java锁表与Oracle数据库协调实现数据安全(java锁表oracle)
- 项目Java项目中展现Redis新型性能优势(redis运用在java)
- java连接MySQl数据库实例代码
- Java生成CSV文件实例详解