Java数据结构和算法之Java数组 博客分类: Java 数据结构Java算法J#
Java 中的数组
在JAVA中 有两种数据类型 基本数据类型(int 和 double)和对象类型。
数组是作为对象来处理。
数组的结构特性:
优点:插入快,如果知道下标,可以非常快速的存取
缺点:查找慢、删除慢,大小固定
有序数组:
优点:比无序数组查找快
缺点:删除和插入慢,大小固定
1、创建数组
因为数组是作为对象来处理,所以创建一个数组也用 new 操作符号。
如下:
int [] intArray ;
intArray = new int[10];
或者
int [] intArray = new int[10] ;
2、初始化数组
如果不指定值赋给数组的数据项,那么他们就是0 ,例如我们用如下程序测试
int [] intArray ;
intArray = new int[10];
for(int i = 0 ; i < intArray.length ;i++){
System.out.println(intArray[i]);
}
打印结果 是 10 个0 ;
我们可以通过指定下表的方式初始化,如
intArray[0] = 2 ;
intArray[1] = 2 ;
intArray[2] = 3 ;
数组还有有个极为简单的初始化方式,在你确定这个数组要装哪些数据的时候可以以如下方式:
int [] intArray ={1,2,3,4,5} ;
这个语句的意思就是 创建一个 5个长度的int 数组,按照下表 0,1,2,3,4分别赋值为 1,2,3,4,5
相当于:
int [] intArray = new int[5];
intArray[0] = 1 ;
intArray[1] = 2 ;
intArray[2] = 3 ;
...
3、访问数组
访问数组通过直接指定数组下标来访问。
如:
赋值
intArray[0] = 1 ;
int i = intArray[2] ;
4、数组的增删改查
下面的程序简单的定义了数组的增删改查。
package test.array; public class TestArray { public static void main(String[] args) { int intArray[] = new int[5]; //数组初始化 intArray[0] = 5 ; intArray[1] = 6 ; intArray[2] = 7 ; intArray[3] = 8 ; intArray[4] = 9 ; // int length = intArray.length; //数组遍历 for(int i = 0 ;i <length; i++){ System.out.println(intArray[i]); } //数组查询 int searchKey = 8 ; for(int j = 0 ;j <length; j++){ if( searchKey == intArray[j]) System.out.println("key = " + searchKey +"\tindex = "+j); } //数组的修改 intArray[2] = 70 ; //数组删除:删除掉 int[?] = 8 的删除 for(int k = 0 ;k <length; k++){ if( searchKey == intArray[k]){ for( ; k <length -1 ; k++){ intArray[k] = intArray[k+1] ; } length -- ; } } //删除后遍历 for(int i = 0 ;i <length; i++){ System.out.println(intArray[i]); } } }
5、注意事项:
1)数组的开始下标为0
2)length是数组的属性,不是数组的方法
附件是 测试程序 TestArray.java