一 数组的概术
1 数组的理解
数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的 方式对这些数据进行统一管理。
2. 数组相关的概念:
数组名 元素 角标、下标、索引 数组的长度:元素的个数
3 数组的特点
- 数组是序排列的
- 数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
- 创建数组对象会在内存中开辟一整块连续的空间
- 数组的长度一旦确定,就不能修改。
4 数组的分类
① 按照维数:一维数组、二维数组、。。。
② 按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组
5 数组结构:
- 数据与数据之间的逻辑关系:集合(关系很弱)、一对一(数组里面的元素)、一对多(二叉树)、多对多(社交网络)
- 数据的存储结构: 线性表:顺序表(比如:数组)、链表、栈、队列 树形结构:二叉树 图形结构:
一维数组
一维数组的生命和初始化
` int num ; // 声明 num = 10 // 复制 int id = 1001;
int [] ids; //声名 //1.1 静态初始化:数组的初始化和数组元素的赋值操作同时进行 ids = new int[]{1001,1002,1003,1004} ///1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行 String[] name = new string[5];
int[] arr4={1,2,3,4} `
3 数组的属性
1 length
“说明: 数组一旦初始化,其长度就是确定的。arr.length 数组长度一旦确定,就不可修改。”
2 数组的遍历
for(int i = 0 ; i < arr4.length; i++){ sout() }
二维数组
- 规定:二维数组分为外层数组的元素,内层数组的元素
-
int[][] arr = new int[4][3]; -
外层元素:arr[0],arr[1]等 -
内层元素:arr[0][0],arr[1][2]等 - ⑤ 数组元素的默认初始化值
-
五、Arrays工具类的使用 针对于初始化方式一:比如:int[][] arr = new int[4][3];
-
外层元素的初始化值为:地址值 -
内层元素的初始化值为:与一维数组初始化情况相同 - 针对于初始化方式二:比如:int[][] arr = new int[4][];
-
外层元素的初始化值为:null -
内层元素的初始化值为:不能调用,否则报错。
五、Arrays工具类的使用
1 理解 ① 定义在java.util包下。 ② Arrays:提供了很多操作数组的方法。 2 使用
int arr1[] = new int[] { 21, 43, 542, 432, 4, 2, 5, 1 };
int arr2[] = new int[] { 32, 43, 4, 1, 4, 76, 54, 68, 4 };
// 1.Arrays.equals(arr1, arr2):判断数组是否相等
System.out.println(Arrays.equals(arr1, arr2));
// 2.Arrays.toString(arr1):输出数组信息
System.out.println(Arrays.toString(arr1));
// 3.Arrays.fill(arr1, 2):
将指定值填充到数组中 Arrays.fill(arr1, 2);
System.out.println(Arrays.toString(arr1));
// 4.Arrays.sort(arr2):
对数组进行排序 Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
// 5.Arrays.binarySearch(arr2, 1):
堆排序好的数组用二分法检索指定值
int index = Arrays.binarySearch(arr2, 1);
System.out.println(index);