当前课程知识点:Java程序设计 > 第六章 对象群体的组织 > 6.2-主要接口及常用的实现类 > 6.2-主要接口及常用的实现类
大家好
欢迎回来继续学习Java语言程序设计
在这一节我们来学习
更多的主要接口
以及实现这些接口的常用类
首先我们来了解一下Set接口
Set表示的就是
数学中的集合的概念
在Set里面是禁止出现重复元素的
Set接口对equals和hashCode方法
做了更强的约定
如果两个Set对象它的内容
它的元素都是完全一样的
那么就认为二者就应该是相等的
实现Set接口的类
有哈希集合HashSet和树集TreeSet
另外还有一些
其他的实现Set接口的类
SortedSet接口是一种特殊的Set
其中的元素都是升序排列的
而且其中还增加了
与次序相关的操作
SortedSet通常用于
存放词汇表这样的内容
实现它的类有基于跳表的集合
以及基于树结构的集合
List接口它允许
其中包含重复的元素
而且元素都是有次序关系的
它是有序的
元素每一个元素都有一个下标
有一个index
实现List接口的类
主要有这样一些
比较常用的一个是Vector
一个是ArrayList
实际上ArrayList
是现在比较常用的
Vector已经逐渐
被ArrayList取代了
ArrayList是一种
类似于数组形式的
也就是可以认为它底层是
基于动态数组构造起来的
因此它的随机访问速度比较快
LinkedList它的内部实现
是基于链表的
适合于在链表中间
需要频繁进行插入
删除操作的情况
还有比较常用的
就是栈结构Stack
除此而外还有这里列出了
一些实现List接口的类
Queue是队列
我们知道队列
它是一种先进先出
或者叫先来先服务的
这样一种数据结构
Queue接口其中除了包含
从Collection继承过来的
这些操作以外
它还包括插入删除和查看
实现这个队列接口的类
有LinkedList
LinkedList它同时也实现了List
它实现的是先进先出
另外还有优先队列
优先队列是
按元素的值排序的队列
除此而外这里还列出了
一些其他的实现Queue接口的类
Map接口是集合框架中的
另一个系列的最顶层的接口
它的父接口
是用于存放键值对的
其中的关键字值是不允许重复的
每一个关键字映射到一个数值
Map接口可以带有两个类型参数
一个表示关键字的类型
一个表示值的类型
这张图给出了Map接口
以及它的子接口和实现的类
在这里我们后面会给大家介绍
这个哈希表这种结构
除了比较常用的HashMap
和TreeMap以外
这里来列出了其他的
实现了Map接口的类
由于课时的关系
我们不能每一个类
都给大家举例在这里面介绍
大家要感兴趣的话
要写程序需要用的话
希望大家能够去查阅JavaAPI的文档
SortedMap是Map的子接口
它其中的关键字是升序排列的
这个从名字就看得出来
排序的SortedMap
这样的有序的这样的Map
通常我们可以用它来表示
字典或者是电话表
这样的一些数据
SortedMap接口
可以带有两个类型参数
这里给出了它的形式
第一个K表示关键字的类型
V表示值的类型
那实现它的类常用的有
比如说TreeMap
另外要支持并发的话
我们就用这个ConcurrentSkipListMap
这是一个基于跳表这样一个Map
关于什么是跳表
这个需要大家
有一点数据结构的知识
如果你现在还不是太清楚
那么就不必说非要去使用它
如果你学了数据结构
或参考一下理解了
那么你可以比较好的使用它
这一节我们了解了
在Java集合框架中的几个主要接口
以及实现它们的类
好
这一节的内容就是这些
-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章小结
-课件
--课件