当前课程知识点:Java程序设计 > 第六章 对象群体的组织 > 6.1-Java集合框架介绍 > Java集合框架介绍
大家好
欢迎回来继续学习Java语言程序设计
这一节我就来给大家简单介绍一下
Java的集合框架
Java集合框架
是为了表示和操作集合类型
而规定的一种统一的体系结构
在Java的集合框架中
提供了一些现成的数据结构
那么用这些数据结构来写程序
就使得我们开发程序的速度
能够更快
程序的可靠性和稳定性也会更好
使用这些数据结构来写程序
就可以将同类型的对象
汇聚成一个整体
统一来进行处理
而且我们还可以动态改变它的容量
也就是动态改变集合类型的大小
当我们要增加元素的时候
就可以自动的增长
减少元素的时候也就自动的缩小
这样的话
对于存储空间的利用率就会更高
程序的效率也会比较高
Java的集合框架中
包含这样几部分内容
首先就是对外接口
对外接口表示了
集合的抽象数据类型
规定了所有集合类型
都应该具有的
一些对外服务的功能
另外就是接口的实现
我们要使用接口规定这些功能
就要有具体的类去实现它
那么实现这些集合接口的Java类
是可以重用的数据结构
真正我们写程序最后来用的
是这些实现接口的类
在这些实现中
还包含了对集合运算的算法
比如说我们常用的查找排序算法
都有现成的算法提供
这样的话我们写程序的效率
就会比较高
现在我们来看一下这个示意图
这里给出来
是Java集合框架的接口
接口声明了对各种集合类型
执行的一般操作
我们看到这个接口有两个系列
一个它的根接口或者说
它的最顶层的父接口是Collection
它接下来底下的子接口
包括Set List Queue和SortedSet
另外一个系列
就是以Map为根的这个系列
那底下常用的接口有SortedMap
首先我们来了解一下Collection接口
Collection接口声明了
一批操作成组对象的方法
实现它的类是AbstractCollection类
这里给出了AbstractCollection
以及它的子类的
这样一个继承关系的图
AbstractCollection类
它是一个抽象类
如果我们要使用它
规定的功能的话
我们只能使用这个上面画出来
它的子类实现了
这个抽象类以后
它的子类的一些功能
比如说我们后面将要重点介绍的
这个Vector ArrayList都是继承自AbstractCollection的具体的类
现在我们来了解一下
Collection接口有哪些常用的方法
首先我们来了解一下查询方法
查询方法它是不改变
集合对象它的内容的
像size方法呢它返回集合对象中
包含的元素个数
isEmpty用来判断
集合对象中是否有元素
如果说没有元素了那就是空了
它返回true
contains方法实际上
是判断某个对象
是否包含在这个集合中
containsAll方法我们看到
它的参数也是一个Collection的对象
实现了Collection接口的对象
实际上是它判断这个
当前接收消息的对象里面
是否整个包含着这个参数对象的元素
实际上它是一种包含关系的这种判断
接下来我们来看一下修改方法
修改方法当然
它就会改变集合对象里面的内容了
像add方法是向集合中增加对象
addAll是将这个参数对象的
全部内容都增加到当前
接收消息的这个集合里面去
我们看到这个参数它用到了扇形
而且用到了这个问号这种通配符
这都是我们前面讲过的内容
像remove是从集合中删除一个对象
删除这个参数对象
removeAll它的参数
也是一个实现了Collection接口的类的对象
那么它的作用是
将这个参数集合中的所有元素
从接收消息的这个集合对象中删除
接下来这个retainAll
它正好是反过来
是保留参数对象C
这个集合中的内容
也就是说看看在当前
接收消息的对象中
有没有含着一些对象
它是也在参数对象中
如果某些元素它也在参数对象中
那么就保留这些元素
除此而外其他的元素都删除掉
clear就是清空集合中的元素
删除所有的元素
这一节我们简单的了解了一下
Java的集合框架
它其中包含了接口
实现接口的类以及常用的方法
并且我们还仔细的了解了一下
Collection接口里面
有哪些常用的方法
好 这一节内容就是这些
-1.0-导学
--1.0-导学
-1.1-Java与面向对象程序设计简介
--第一章 Java语言基础知识--1.1-Java与面向对象程序设计简介
-1.2-基本数据类型与表达式
-第一章 Java语言基础知识--1.2-基本数据类型与表达式
-1.3-数组
--1.3.1-数组
-第一章 Java语言基础知识--1.3-数组
-1.4-算法的流程控制
--第一章 Java语言基础知识--1.4-算法的流程控制
-1.5-第一章小结
-第一章编程练习题
-课件
--外部链接
-Java环境配置、Eclipse使用、Helloworld程序详解
--使用eclipse建立Java项目、编写和运行Java程序
-Java数据类型
--Java整数类型
--Java浮点类型
--数据类型实战
--数据类型转换
--Java强制类型转换精度损失示例与表达式中的数据类型转换
-Java数组
-Java变量
--Java的变量
-命令行参数
--命令行参数的介绍
-2.0-导学
--2.0-导学
-2.1-面向对象方法的特性
--第二章 类与对象--2.1-面向对象方法的特性
-2.2-1-类声明与对象创建
--第二章 类与对象--2.2-1-类声明与对象创建
-2.2-2-数据成员
--第二章 类与对象--2.2-2-数据成员
-2.2-3-方法成员
--第二章 类与对象--2.2-3-方法成员
-2.2-4-包
--2.2-4-包
--第二章 类与对象--2.2-4-包
-2.2-5-类的访问权限控制
--第二章 类与对象--2.2-5-类的访问权限控制
-2.3-1-对象初始化
--第二章 类与对象--2.3-1-对象初始化
-2.3-2-内存回收
--第二章 类与对象--2.3-2-内存回收
-2.4-枚举类
--2.4-枚举类
--第二章 类与对象--2.4-枚举类
-2.5-应用举例
--2.5-应用举例
-2.6-第2章小结
-第二章编程练习题
-课件
--第二章课件
-3.0-导学
--3.0-导学
-3.1.1-3.1.2-类继承的概念和语法
--第三章 类的重用--3.1.1-3.1.2-类继承的概念和语法
-3.1.3-隐藏和覆盖
--第三章 类的重用--3.1.3-隐藏和覆盖
-3.2-Object 类
--第三章 类的重用--3.2-Object 类
-3.3-终结类与终结方法
--第三章 类的重用--3.3-终结类与终结方法
-3.4-抽象类
--3.4-抽象类
--第三章 类的重用--3.4-抽象类
-3.5-泛型
--3.5-泛型
--第三章 类的重用--3.5-泛型
-3.6-类的组合
--3.6-类的组合
-3.7-小结
--3.7-小结
-第三章编程练习题
-课件
--课件
-4.0-导学
--导学
-4.1-接口
--接口
--第四章 接口与多态--4.1-接口
-4.2.1-4.2.2-类型转换
--类型转换
--第四章 接口与多态--4.2.1-4.2.2-类型转换
-4.2.3-方法的查找
--方法的查找
--第四章 接口与多态--4.2.3-方法的查找
-4.3-多态的概念
--多态的概念
--第四章 接口与多态--4.3-多态的概念
-4.4-多态的应用举例
--多态的应用举例
--第四章 接口与多态--4.4-多态的应用举例
-4.5-构造方法与多态性
--构造方法和多态性
--第四章 接口与多态--4.5-构造方法与多态性
-4.6-本章小结
--本章小结
-第四章编程作业
-课件
--课件
-5.0-导学
--5.0-导学
-5.1.1-5.1.2-异常处理的概念
--第五章 输入输出--5.1.1-5.1.2-异常处理的概念
-5.1.3-5.1.5-异常的处理
--第五章 输入输出--5.1.3-5.1.5-异常的处理
-5.2-输入输出流的概念
--输入输出流的概念
--第五章 输入输出--5.2-输入输出流的概念
-5.3.1-写文本文件
--写文本文件
--第五章 输入输出--5.3.1-写文本文件
-5.3.2-读文本文件
--读文本文件
--第五章 输入输出--5.3.2-读文本文件
-5.3.3-写二进制文件
--写二进制文件
--第五章 输入输出--5.3.3-写二进制文件
-5.3.4-读二进制文件
--读二进制文件
-5.3.5-File类
--File类
-5.3.6-处理压缩文件
--处理压缩文件
-5.3.7-对象序列化
--对象序列化
-5.3.8-随机文件读写
--随机文件读写
-5.4-本章小结
--本章小结
-课件
--课件
-6.0-导学
--导学
-6.1-Java集合框架介绍
--第六章 对象群体的组织--6.1-Java集合框架介绍
-6.2-主要接口及常用的实现类
--第六章 对象群体的组织--6.2-主要接口及常用的实现类
-6.3-常用算法
--常用算法
-6.4-数组实用方法
-6.5-基于动态数组的类型(Vector, ArrayList)
--基于动态数组的类型(Vector, ArrayList)
-6.6-遍历Collection
-6.7-Map接口及其实现
-6.8-第6章小结
--第6章小结
-课件
--课件
-7.0-导学
--导学
-7.1-绘图
--绘图
-7.2-Swing基础
--Swing基础
-7.3-Swing的层次
--Swing的层次
-7.4-布局管理
--布局管理
-7.5-内部类
--内部类
-7.6-事件处理的基本概念
-7.7-事件派发机制
--事件派发机制
-7.8-顶层容器
--7.8-顶层容器
-7.9-中间层容器(一)
-7.10-中间层容器(二)
-7.11-原子组件(一)
-7.12-原子组件(二)
-7.13-原子组件(三)
-7.14-其它Swing特性
-7.15-第7章小结
-课件
--课件