Java数组
数组概述
相同类型数据的有序集合,按一定次序排列
数组声明
1 //首先声明数组变量 2 int[] nums; //首选 3 int nums[]; //第二种写法 4 //new操作符创建数组 5 nums = new int[10]; 6 7 //获取数组长度 8 int l = nums.length; 9 内存分析 10 11 声明时数组并不存在,只在栈中生成一个array引用 12 13 创建时数组才真正在堆中被创建(数组对象本身时在堆中的) 14 15 //数组的三种初始化方式 16 17 //1、静态初始化(创建+赋值) 18 int[] a = {1,2,3} 19 20 //2、动态初始化(包含默认初始化,默认为0) 21 int[] b = new int[10];
数组越界异常:ArrayIndexOutOfBounds
数组也是对象,数组元素相当于对象的成员变量
数组使用
1 int[] arrays = {1,2,3,4,5}; 2 3 //for each 循环 4 for(int array : arrays){ //快捷输入:array.for 5 System.out.println(array); 6 } //输出1 2 3 4 5 7 8 //数组作方法入参 9 public static void arrayprint(int[] array) { 10 for (int i = 0; i <array.length; i++) { 11 System.out.println(array[i]); 12 } 13 } 14 15 //数组作返回值 16 public static int[] reverse(int[] array) { 17 int[] result = new int[array.length]; 18 ... 19 return result; 20 }
1 //定义多维数组 2 int[][] array = {{1,2},{2,3},{3,4}}; 3 //此时array.length=4 array[0].length=2
Arrays类
1 //idea输入Arrays即可快速import java.util.Arrays; 2 3 //打印数组arrays 4 System.out.println(Arrays.toString(arrays)); 5 //将arrays数组填充为0 6 Arrays.fill(arrays,0); 7 Arrays.fill(arrays,2,4,0); //填充arrays[2]到arrays[4]为0
稀疏数组
-
稀疏数组的处理方法:
-
记录行列数,有多少个不同的值
-
把具有不同值的元素的行列和值记录在一个小规模的数组中,从而缩小程序的规模
-