当前课程知识点:Java程序设计 > 第六章 对象群体的组织 > 6.4-数组实用方法 > 6.4-数组实用方法
大家好
欢迎回来继续学习Java语言程序设计
这一节我们来学习一下
数组的有关的使用方法
在Java集合框架中
有一个Arrays类
其中定义为一组静态方法
是用来处理数组的
其中的常用方法有fill
这是一个填充方法
给数组进行填充
也就是说简单的把一个数组
或者这个数组的某一段内容
全部填充成一个指定的值
equals方法实现了两个数组的比较
当两个数组里面的元素
都完全一样的时候
就要返回true
sort是对于数组进行排序的
binarySearch是
对数组元素进行二分法查找的
还有一个很有意思的方法
是asList
实现由数组到ArrayList的转换
我们看到这个参数
这个参数的形式
实际上它就是
一个长度不确定的数组
可以这样去理解
而且数组的元素类型
是抽象的T类型
也就是说我们的任何数组
都何以用这个asList进行转换
转成ArrayList
这个toString方法
是实现由数组到String的这种转换
接下来这个例子中
简单的演示了一下
怎么样去填充数组的元素
以及怎么样将数组进行复制
这个数组填充和复制的例子
实际上逻辑上比较简单
可能大家自己看看也没什么意思
只是演示了怎么样用fill
给数组的元素去填充统一的值
那么大家可以看到
我们可以给数组填充
比如说这样的基本类型的数值
47 99 103这样来填充
也可以给这个对象数组
去统一填充对象
我们来看这里定义的
integer类型的数组
也就是包裹类型的数组
整数的包裹类型
那我们可以构造integer对象
作为填充值去填充
大家可以去运行观察一下
中间可以设断点去观察
每次填充完了以后
这些数组里面的数据的状态
到底是什么样的
接下来这个例子
演示了数组的比较
在这个例子中
我们调用了Arrays
给我们提供的equals方法
来比较两个数组是否相等
可以说从object
继承过来的equals方法
它天然的功能是比较同一
这个我们是知道的
那现在我们来看看Arrays
提供的equals方法
它比较的是不是相等呢
我们构造两个数组
注意这是两个不同的数组
它绝不是同一个
然后我们将两个数组里面内容
填充成一样的都是47
然后调用equals去比较
大家运行观察一下
应该是第一次比较输出的结果
是true是真的
好
那接下来我们将AR
这个数组的某个元素
下标为3的元素修改一下
再次比较是否相等
那这会应该是false了
因为元素不一样了
那好
再看我们构造一个String数组
s1构造的时候没有给初始化
那么接下来调用fill
把它全部初始化为Hi这个字符串
同样的也构造一个
长度一样的String数组s2
把它初始化
为所有的元素都是字符串Hi
再来比较它们发现它们是相等的
因为元素的内容都是一样的
所以通过这个验证我们可以看到
这个equals方法
确实是做的相等比较
在这一节我们了解了
Arrays这样一个类
它其中包含了一组非常有用的
用来操作数组的方法
这样的话如果我们写程序的时候
就简单的自己定义一个数组
即使你不用集合框架中的
其他集合类型就自己定义一个数组
那么也可以有比较方便的
这些实用方法来操作它了
好
这一节内容就是这些
-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章小结
-课件
--课件