数组
-
数组的创建
// 一旦被创建,大小不可变 int[] nums; //1.声明一个数组 nums = new int[10]; //2. 创建一个数组(分配了空间)
-
初始化
//静态初始化 int[] a = {1,2,3}; Man[] mans = {new Man(1,1),new Man(2,2)}; //动态初始化(包含默认初始化) int[] a = new int[2]; a[0] = 1; a[1] = 2; //数组默认初始化(自动的) //数组中的元素会被赋予该类型的默认值 //如:int[]中的元素会被赋值为0
-
数组的索引
注:数组的下标从 0 开始
-
数组的特点
-
长度是确定的,一旦被创建,大小就不可改变
-
其数组元素必须是相同类型
-
数组中的元素可以是任何数据类型(基础类型、引用类型)
-
数组也是对象,数组元素相当于对象的成员变量,数组是保存在堆中的
-
-
多维数组
数组中的元素还是数组
-
二维数组
int a[][] = new int[2][5] //以上二维数组可以看成两行五列的数组 int a[][] = {{1,2,3}{2,5,8}}; //这是三行两列的数组
-
-
Arrays类
这是一个java官方写好了的类,直接用就可以,可以查看JDK手册里面有很多方法
import java.util.Arrays; //类的引用(写在前面)
//打印数组元素 Arrays.toString System.out.println(Arrays.toString(a)); //打印了数组a //对数组元素进行排序(排序之后覆盖原来数组) Arrays.sort(a); //填充 Arrays.fill(a,2,4,0); //下标2-4之间(2和3)的元素被0填充 Arrays.fill(a,1); //把数组 a 里面的元素都填充为 1
-
冒泡排序
- 两两比较数组中相邻元素,如果第一个比第二个大,我们就交换他们的位置
- 每一次比较都会产生一个最大或最小的数字
- 下一轮则可以少一次比较排序
- 依次循环直到结束
注:可以优化(看ArrayDemo07)
-
稀疏矩阵
普通矩阵可以压缩为稀疏矩阵(ArrayDemo08)