数组是一种数据结构,它由相同类型的相关数据项按一定次序排列组成。
我们先看一下一个简单的有关数组的例子来初识数组:
package test4;
/**
* Java程序设计 TestArrayOne.java
* 作者:白芷
* 时间:2017/3/4
* 说明:简单的初步认识数组的例子
*/
public class TestArrayOne {
public static void main(String[] args) {
int[] array = new int[5];// 声明以及初始化数组
for (int i = 0; i < array.length; i++) {
array[i] = i + 1;
}
for (int j = 0; j < array.length; j++) {
System.out.println("a[" + j + "]=" + array[j]);
}
}
/**
* 输出
* a[0]=1
* a[1]=2
* a[2]=3
* a[3]=4
* a[4]=5
*
*/
}
这就是一个简单的有关数组的例子了。我们看到程序上面有关数组声明与实例化的注释,那么数组有多少种实例化的方式呢?
在上面例子中对数组的初始化方式就是创建并初始化数组,使用new
关键字创建了一个一个长度为5的数组。
这方法又称为动态初始化方法,因为数组的值是在后面由系统指定的。
数组的初始化器是一个用逗号隔开的表达式列表(称为初始化器列表),放在大括号中。这里,数组的长度由初始化器列表里面元素的个数来确定,如下代码:
package test4;
/**
* Java程序设计 TestArrayTwo.java
* 作者:白芷
* 时间:2017/3/4
* 说明:使用数组的初始化器初始化数组
*/
public class TestArrayTwo {
public static void main(String[] args) {
int[] array = {1,2,3,4,5};// 使用数组的初始化器初始化数组
for (int j = 0; j < array.length; j++) {
System.out.println("a[" + j + "]=" + array[j]);
}
}
/**
* 输出
* a[0]=1
* a[1]=2
* a[2]=3
* a[3]=4
* a[4]=5
*/
}
当然上面的初始化也可写成如下的形式:int[] array = new int[]{1,2,3,4,5};
该方法也称为静态数组初始化方法。
以上就是一维数组有关的内容了,接下来我们看一下有关二维数组的!
首先我们也从一个简单的有关二维数组的程序入手,该程序用以打印一个矩形:
package test4;
/**
* Java程序设计 TestArrayThree.java
* 作者:白芷
* 时间:2017/3/4
* 说明:二维数组打印矩形
*/
public class TestArrayThree {
public static void main(String[] args) {
char[][] array=new char[4][4];//二维数组的初始化
for(int i=0;ifor(int j=0;j'#';
}
}
for(int i=0;ifor(int j=0;j" ");
}
System.out.println();
}
}
/*
* 输出
* # # # #
* # # # #
* # # # #
* # # # #
*/
}
在这里声明一句,从数组的底层来看,是没有多维数组的。(《征服C指针》中说得好,数组就是指针的语法糖)。Java语言里,数组类型是引用类型,二维数组说到底就是一维数组里面保存的引用指向了一维数组。
我们看一下一个打印三角形的例子来说明:
package test4;
/**
* Java程序设计 TestArrayFour.java
* 作者:白芷
* 时间:2017/3/4
* 说明:二维数组打印三角形
*/
public class TestArrayFour {
public static void main(String[] args) {
char[][] array;
array=new char[][]{{'#'},{'#','#'},{'#','#','#'},{'#','#','#','#'}};
for(int i=0;ifor(int j=0;j" ");
}
System.out.println();
}
}
/*
* 输出
* #
* # #
* # # #
* # # # #
*/
}
以上就是有关数组的基本知识了。
在前面提到过的数组不会自动的调整它的大小来容纳更多的元素,而ArrayList
则会为了容纳更多的元素而自动调整大小。
方法 | 描述 |
---|---|
add() | 把一个元素添加到ArrayList的末尾 |
clear() | 删除ArrayList中的全部元素 |
contains() | 判断ArrayList中是否包含某元素 |
get() | 返回ArrayList中指定位置上的元素 |
indexOf() | 返回ArrayList中指定元素第一次出现的位置 |
remove() | 移除ArrayList中指定位置上的元素,并返回该元素 |
size() | 返回ArrayList中所有元素的个数 |
trimToSize() | 移除ArrayList中多申请的存储空间 |