一.数组的定义与使用
1.什么是数组
定义:数组是由相同数据类型的数组元素组成的集合,元素按照线性顺序排列,既除第一个元素外,每一个
元
例如:
|a[0]|a[1] |a[2]|…|a[n-1]|
|10 | 20 |30||…
如图所示为一个数组中存放了n个整数,从左到右排列,每个整数都有自己的序号,序号从0开始,最后一个元
素的序号为n-1.
2.数组的定义
3.数组的初始化
Java语言中的数组必须先初始化,然后才可以使用,所谓初始化,就是为数组的数组元素分配内存空间,并
为每个元素赋初始值。
(1)静态初始化
静态初始化:在定义数字的同时就为数组元素分配空间并赋值。
(2)动态初始化
动态初始化:数组定义与为数组分配空间和赋值的操作分开进行。
4.数组的访问
数组初始化完成后,就可以使用数组,包括为数组元素赋值,访问数组元素值和获得数组长度等。
(1)获取数组的长度
(2)通过下标访问数组元素
(3)数组的复制
有以下四种方法:
1.for循环方法:
代码灵活,但效率低。
2.System.arraycopy()方法:
通过源码可以看到,其为native方法,即原生态方法。自然效率更高。
3.Arrays.copyOf()方法:
同样看源码,它的实现还是基于System.arraycopy(),所以效率自然低于System.arraycpoy()。
4.Object.clone()方法:
从源码来看同样也是native方法,但返回为Object类型,所以赋值时将发生强转,所以效率不如之前两种。
四.数组的排序问题
1.冒泡排序
2.插入排序
3.Arrays.sort()排序
三种排序中Arrays.sort的速度最快,其次是插入排序,最后事冒泡排序。