Java数组
数组概念:
是相同数据类型的有序集合,每个元素具有相同的数据类型。
数组类型:
数组属于引用类型,从Object继承。数组变量是一个Java对象。
数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。数组中的元素通过下标访问,第一个元素下标是0。
一维数组
创建数组:
首选方法:
<元素类型>[] <数组名>
效果相同,但不是首选方法
<元素类型> <数组名>[]
数组变量的声明,和创建数组可以用一条语句完成
dataType[] arrayRefVar = new dataType[arraySize];
另外,你还可以使用如下的方式创建数组。
dataType[] arrayRefVar = {value0, value1, ..., valuek};
一维数组的使用
数组的元素只有分配储存空间后才能使用。数组元素的引用:arrayName[index]
,其中0<=index<arrayLength。index不能越界,越界会抛出异常喔。
通过数组的length可以遍历数组:
for (int i=0;i<arrayName.length;i++)
{
arrayName[i] = 值;
}
复制数组
原始方法实现一维数组数据复制:

系统类提供方法:
System.arraycopy(from, fromIndex, to, toIndex, count)
- from:源数组
- fromIndex:源数组起始下标
- to:目标数组
- toIndex:目标数组起始下标
- count:复制的元素个数
foreach 循环
JDK 1.5 引进了一种新的循环类型,被称为foreach
``循环或者加强型循环,它能在不使用下标的情况下遍历数组。
看个例子:

多维数组(二维数组为例)
定义:
<元素类型><数组名>[][]
或<元素类型>[][] <数组名>
定义二维数组时不能给出数组大小
初始化:
定义数组的同时对元素赋值:
int[][] iArray = {{1,2},{3},{3,4,5}};
Object[][] objArray = {{new Integer(4)},{"hello",new Date()}};
二维数组的遍历:
二位数组在空间上不一定连续。二位数组可以遍历:
for (int i=0;i<array.length;i++)
{
for (int j=0;j<array[i].length;j++)
{
对元素干点什么
}
}
指定二位数组大小,形状规则的数组:
<数组名> = new <元素类型>[第一维大小][第二维大小]
例子:
int[][] array = new int[3][2]
也可以从高维到低维依次进行空间分配,分配数组形状可以任意,就酱紫:
<数组名> = new <元素类型>[元素个数][]
数组类有一些常用操作:
- 排序:Arrays.sort()按升序
- 填充:Arrays.fill()
- 比较:Arrays.equals()比较数组中元素值是否相等
- 二分查找:Arrays.binarySearch(),查找之前必须先排序
网友评论