当前课程知识点:Java程序设计 >  第六章 对象群体的组织 >  6.5-基于动态数组的类型(Vector, ArrayList) >  基于动态数组的类型(Vector, ArrayList)

返回《Java程序设计》慕课在线视频课程列表

基于动态数组的类型(Vector, ArrayList)在线视频

基于动态数组的类型(Vector, ArrayList)

下一节:遍历Collection

返回《Java程序设计》慕课在线视频列表

基于动态数组的类型(Vector, ArrayList)课程教案、知识点、字幕

大家好

欢迎回来继续学习Java语言程序设计

这一节我们来详细了解

两个基于动态数组的集合类型

Vector和ArrayList

这两个类型都是

实现了Collection接口的

用它们都能够

存储相同类型的对象

或者是具有相同父类

或接口这样对象

也就是说我们

可以把同类型的对象

存在一个Vector

或者一个ArrayList里面

也可以把继承了同一个超类的

若干子类的对象

或者说是将各个不同的类

但是它都实现了ArrayList接口的

这样的类的对象

放在这个Vector

或者ArrayList里面

所以我们放在Vector

或者ArrayList里面的对象

都应该是同类型的

或者是具有共同超类的

或者是具有共同接口的

这几种情况

它必然是这样一种情况

还有这里面不能存储基本类型

我们如果要有基本类型的数据

就首先要把它

包裹到这个包裹类中

比如说我们要有int类型的数据

想在Vector或者ArrayList里面

存一组int数据

那么首先就要把它包裹成

integer这种类型的对象

然后再存进去

由于它们都是基于

动态数组这种存储结构的

所以实际上在构造对象的时候

它的容量都会流有一定的余地

然后在这个容量空间范围之内

我们要增加元素的话

效率还是比较高的

可是它预留的容量

如果都已经满了

你再要增加数据的话

这种情况下实际上

它是进行了容量扩充的

那这个时候就会略微

多消耗一点运行时间了

Vector和ArrayList

它们的差别是什么

实际上Vector

是集合框架中的遗留类

也就是说现在已经

不鼓励来使用它了

更多的是使用ArrayList

那么Vector它有一个特点

它是线程安全的集合

也就是说如果我们

写多线程程序的话

多个线程同时访问它

它是线程安全的

但是ArrayList

就不是线程同步的

可是它效率比较高

那么问题就来了

如果我们需要

使用线程安全的集合

他们是不是就得非得用Vector呢

当然你用Vector是可以的

但是现在在新版本的JDK中

是提供了线程安全的

这个集合的包的

在concurrent这个包里面

有映象有序集队列都有

除了这种方法以外

其实任何集合类型

都可以使用同步包装器

把它变成线程安全的

而这里也简单列了一下

同步包装器它的使用格式

ArrayList构造方法

主要有这样三种

可以构造一个空表

默认的容量是10

可以用参数提供的

这个集合中的元素

为初始值去构造一个表

也可以构造一个空表

但是按照参数的设置

给它一个初始的容量

ArrayList里面

还有一些其他的非常有用的方法

其中一些是

从Collection接口继承过来的

实现了Collection接口的方法

我们在前面介绍Collection的

有用方法的时候

也做了一个简单的介绍

另外还有一些新增的

其他的有用方法

方法很多在这个有限课时之内

就不能一个一个方法

仔细给大家解析了

这里在讲稿上都列出来了

大家如果愿意尝试使用的话

建议去参考JavaAPI的文档

在这一节我们学习了

两个基于动态数组的类型

一个是Vector一个是ArrayList

Vector是一个遗留的类型

所以鼓励大家去用ArrayList

因为它的效率更高

那么出去你希望

去使用一个线程安全集合的时候

现在的新的JDK版本

也为我们提供了

线程安全集合的包

或者你用一个线程安全包装器

可以把现有的集合

包装成线程安全的

这一节就是这些内容

Java程序设计课程列表:

第一章 Java语言基础知识

-1.0-导学

--1.0-导学

--JDK的安装与配置01

--JDK的安装与配置02

--JDK的安装与配置03

--编辑并执行第一个java程序01

--编辑并执行第一个java程序02

--编辑并执行第一个java程序03

--eclipse的安装和配置01

--eclipse的安装和配置02

--eclipse的安装和配置03

--使用eclipse进行Java的开发01

--使用eclipse进行Java的开发02

--使用eclipse进行Java的开发03

-1.1-Java与面向对象程序设计简介

--1.1.1 Java与面向对象程序设计简介

--第一章 Java语言基础知识--1.1-Java与面向对象程序设计简介

-1.2-基本数据类型与表达式

--1.2.1-基本数据类型与表达式

-第一章 Java语言基础知识--1.2-基本数据类型与表达式

-1.3-数组

--1.3.1-数组

-第一章 Java语言基础知识--1.3-数组

-1.4-算法的流程控制

--1.4.1-算法的流程控制

--第一章 Java语言基础知识--1.4-算法的流程控制

-1.5-第一章小结

--1.5.1-第一章小结

-第一章编程练习题

-课件

--外部链接

第一章续-习题讲解视频

-Java环境配置、Eclipse使用、Helloworld程序详解

--JAVA的安装和配置

--编写并执行第一个Java程序及Java的跨平台性

--eclipse的安装和配置

--使用eclipse建立Java项目、编写和运行Java程序

--Java注释和Eclipse中的注释操作

--详解HelloWorld程序

-Java数据类型

--Java数据类型介绍

--Java整数类型

--Java浮点类型

--Java字符类型和布尔类型

--数据类型实战

--数据类型转换

--Java强制类型转换精度损失示例与表达式中的数据类型转换

-Java数组

--Java数组介绍、声明与使用

--一维数组的初始化与length属性

--数组索引的原理与使用

--二维数组的介绍与使用

-Java变量

--Java的变量

-命令行参数

--命令行参数的介绍

第二章 类与对象

-2.0-导学

--2.0-导学

-2.1-面向对象方法的特性

--2.1-面向对象方法的特性

--第二章 类与对象--2.1-面向对象方法的特性

-2.2-1-类声明与对象创建

--2.2-1-类声明与对象创建

--第二章 类与对象--2.2-1-类声明与对象创建

-2.2-2-数据成员

--2.2-2-数据成员

--第二章 类与对象--2.2-2-数据成员

-2.2-3-方法成员

--2.2-3-方法成员

--第二章 类与对象--2.2-3-方法成员

-2.2-4-包

--2.2-4-包

--第二章 类与对象--2.2-4-包

-2.2-5-类的访问权限控制

--2.2-5-类的访问权限控制

--第二章 类与对象--2.2-5-类的访问权限控制

-2.3-1-对象初始化

--2.3-1-对象初始化

--第二章 类与对象--2.3-1-对象初始化

-2.3-2-内存回收

--2.3-2-内存回收

--第二章 类与对象--2.3-2-内存回收

-2.4-枚举类

--2.4-枚举类

--第二章 类与对象--2.4-枚举类

-2.5-应用举例

--2.5-应用举例

-2.6-第2章小结

--2.6-第2章小结

-第二章编程练习题

-课件

--第二章课件

第三章 类的重用

-3.0-导学

--3.0-导学

-3.1.1-3.1.2-类继承的概念和语法

--3.1.1-3.1.2-类继承的概念和语法

--第三章 类的重用--3.1.1-3.1.2-类继承的概念和语法

-3.1.3-隐藏和覆盖

--3.1.3-隐藏和覆盖

--第三章 类的重用--3.1.3-隐藏和覆盖

-3.2-Object 类

--3.2-Object 类

--第三章 类的重用--3.2-Object 类

-3.3-终结类与终结方法

--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.1-5.1.2-异常处理的概念

-5.1.3-5.1.5-异常的处理

--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集合框架介绍

--Java集合框架介绍

--第六章 对象群体的组织--6.1-Java集合框架介绍

-6.2-主要接口及常用的实现类

--6.2-主要接口及常用的实现类

--第六章 对象群体的组织--6.2-主要接口及常用的实现类

-6.3-常用算法

--常用算法

-6.4-数组实用方法

--6.4-数组实用方法

-6.5-基于动态数组的类型(Vector, ArrayList)

--基于动态数组的类型(Vector, ArrayList)

-6.6-遍历Collection

--遍历Collection

-6.7-Map接口及其实现

--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.9-中间层容器(一)

-7.10-中间层容器(二)

--7.10-中间层容器(二)

-7.11-原子组件(一)

--7.11-原子组件(一)

-7.12-原子组件(二)

--7.12-原子组件(二)

-7.13-原子组件(三)

--7.13-原子组件(三)

-7.14-其它Swing特性

--7.14-其它Swing特性

-7.15-第7章小结

--7.15-第7章小结

-课件

--课件

基于动态数组的类型(Vector, ArrayList)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。