数组概述
-
数组是相同类型数据的有序集合
-
数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成
-
其中,给一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们
数组声明创建
-
首先必须声明数组的变量,才能在程序中使用数组
dataType[] arraysRefVar; int[] arrays; 或 dataType arraysRefVar[]; int arrays[3];
-
Java语言使用new操作符来创建数组
dataType[] arraysRefVar = dataType[arraySize]; int[] arrays = int[3];
-
数组的元素是通过索引访问的,数组索引从0开始
-
获取数组长度
**arrays.length**
数组使用
-
普通的For循环
-
For-Each循环
-
数组作方法入参
-
数组作返回值
多维数组
-
多维数组可以看做成数组的数组
-
二维数组
int a[][] = new int[2][5]
此二维数组a可以看做一个两行五列的数组
int[][] arrays= {{1,2},{2,3},{3,4}};
for(int i=0;i<arrays.length;i++) {
for(int j=0;j<arrays[i].length;j++) {
System.out.println(arrays[i][j]);
}
Arrays类
Arrays.sort(a); //对数组a进行升序排序
Arrays.fill(a,val:0); //数组填充 a:要填充的数组;val:要存储在数组中所有元素的值
-
冒泡排序
public static void main(String[] args) { // TODO Auto-generated method stub int[] array={234,43546,6573,24,55}; int[] sort=sort(array);//调用完我们自己写的排序方法以后,返回一个排序后的数组 System.out.println(Arrays.toString(sort)); } public static int[] sort(int[] array) { //临时变量 int temp=0; //外层循环,判断要比较几次 for(int i=0;i<array.length-1;i++) { //内层循环,比较判断两个数,如果后面的数比前一个小,则调换位置 for(int j=0;j<array.length-1-i;j++) { if(array[j+1]<array[j]) { temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } } return array; }
稀疏数组
-
当一个数大部分组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组
-
稀疏数组的处理方式:
记录数组一共有几行几列,有多少个不同值
把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模
原始数组
稀疏数组