java 数组相关

来源:互联网 发布:电脑软件证书过期 编辑:程序博客网 时间:2024/06/05 10:52

1.定义

数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标可以访问数组中的每一个值。例如,如果a是一个整型数组,a[i]jiushi 数组中下标位i的整数。

2.声明数组
在声明数组变量时,需要指出数据类型和数组变量的名字。

可以用下面两种形式生命数组。
int[] a or int a[]
大多数java应用程序员喜欢第一种风格,因为他将类型int[] 与变量名分开了。

需要注意的是
如果创建了一个长度为100个元素的数组,并且试图访问元素a[100](或者任何在0~99之外的下标),程序就会引发“array index out of bounds”异常而终止。

获取数组的个数,用array.length.一旦创建了数组,就不能改变它的大小如果需要在运行过程中扩展数组的大小,就应该使用另一种数据结构-数组列表(array list)

3.数组初始化及匿名数组

在java中,提供了一种创建数组对象并同时赋予初始值的简化书写形式。
int[] a = {1,2,3,4,5};
使用这种方式,并不需要new实例化

匿名数组
new int[]{1,2,3,4,5};
这种写法也可以在不创建新变量的情况下重新初始化一个数组。
例如
a = new int []{4,6,8,0};

4.数组拷贝

关于数组copy,有两种,一种是把一个数据变量copy到可另一个数组变量。
另一种则是将一个数组的所有值copy到一个新的数组中,这个时候需要调用Arrays.copy()方法

    int[] in = {1,2,3,4,5};    int[] in2 = in;   //第一种copy    int[] in1 = Arrays.copyOf(in,in.length);    //第二种copy    System.out.println(in);    System.out.println(in1);    System.out.println(in2);、

结果:

    [I@85ede7b    [I@5674cd4d    [I@85ede7b

可以看出in,in2的内存地址是一致的,所以这个姿势两个变量引用同一个值而已。
而in1则和in不同,则是实例化一个新的数组,并引用。

参考了java核心卷1

原创粉丝点击