数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
理解java中的数组首先呢要搞清什么是数组,数组的特点是什么,数组该怎么去声明,初始化,和怎么去遍历使用它。
首先,数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。而数组的特点的基本特点有三个:
1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
2. 其元素必须是相同类型,不允许出现混合类型。
3. 数组类型可以是任何数据类型,包括基本类型和引用类型。
而数组的声明方式有两种:
1.type[] arr_nam; //这是比较常用的方式
2.type arr_name[];
接下来就要考虑数组的声明,对于声明方式我们要注意以下几点:
1. 声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才 与长度有关。
2. 声明一个数组的时候并没有数组真正被创建。
3. 构造一个数组,必须指定长度。
声明数组之后呢,我们要考虑如何去初始化数组,数组的初始化有静态初始化方式、动态初始化方式和默认初始化三种方式:静态初始化就是除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。动态初始化就是数组定义与为数组元素分配空间并赋值的操作分开进行,默认初始化时数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。参考例子为:
1.静态初始化:
int[] a = { 1, 2, 3};// 静态初始化基本类型数组;
Man[] mans = { newMan(1, 1), newMan(2, 2) };// 静态初始化引用类型数组;
2.动态初始化:
int[] a1 = newint[2];//动态初始化数组,先分配空间;
a1[0]=1;//给数组元素赋值;
a1[1]=2;//给数组元素赋值;
3.默认初始化:
inta2[] = newint[2]; // 默认值:0,0
boolean[] b = newboolean[2]; // 默认值:false,false
String[] s = newString[2]; // 默认值:null, null
初始化之后呢,我们就该想着如何去调用数组去给数组赋值或者调用数组中得值的相关操作
,这就涉及到数组中的遍历方法,在这一点我们首先要知道数组元素下标的合法区间:[0,
length-1]。我们可以通过下标来遍历数组中的元素,遍历时可以读取元素的值或者修改元素的值。例子为:
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。大致上呢会有以下功能:
1.给数组赋值:通过fill方法。
2.对数组排序:通过sort方法,按升序
3.比 较 数 组: 通过equals方法比较数组中元素值是否相等。
4.打印数组元素:通过toString方法打印数组元素。
这是不加toString()的输出结果
这是加上toString()方法的
当然,数组的工具还有其他的有兴趣的同学可以详细去仔细了解一下。