1.数组
* 用来存放一组数据的数据结构
* 数组存放指定的数据类型
* 数组的长度不可变
* 数组中有默认值,
数字默认 0 或 0.0
boolean 默认 false
引用类型 默认 null
创建数组
1. int[] a = new int[5];
2. char[] a = {'h','e','l','l','o'};
3. char[] a = new char[]{'a','b','c'};
数组的长度属性
a.length
数组中数据的访问
a[0] = 43;
a[3] = 444;
int a = a[0];
int b = a[3];
数组的遍历
从头到尾依次访问每个位置的值
for(int i=0;i<a.length;i++) {
...a[i]...
}
数组复制
Arrays.copyOf(原数组,新长度)
将数组复制为指定长度的新数组
*) 新长度比原数组长度短: 截取
*) 新长度比原数组长度长: 增加新位置
System.arraycopy(
原数组,
原数组起始位置,
目标数组,
目标数组起始位置,
复制的数据个数)
java.util.Arrays
Arrays.toString(数组)
将数组中所有元素连接为字符串
格式: "[元素1,元素2,元素3,元素4]"
Arrays.sort(数组)
数组排序
调优的快速排序算法
Arrays.copyOf(原数组, 新长度)
Arrays.binarySearch(数组, 寻找的目标数据)
二分法查找、折半查找
在有序数组中查找指定数据所在的位置,
返回下标值,
如果找不到,返回值无意义
* 存放数组的数组
二维数组的创建
1. int[][] a = new int[2][3];
2. int[][] a = new int[2][];
a[0] = new int[]{2,4,2,2,4};
a[1] = new int[]{7,4,8};
3. int[][] a = {
{2,3,4},
{1,2,3},
{7,6},
{2,3,5,7,9},
};
访问
a[1][5]
遍历
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
...a[i][j]...
}
}
* 用来存放一组数据的数据结构
* 数组存放指定的数据类型
* 数组的长度不可变
* 数组中有默认值,
数字默认 0 或 0.0
boolean 默认 false
引用类型 默认 null
创建数组
1. int[] a = new int[5];
2. char[] a = {'h','e','l','l','o'};
3. char[] a = new char[]{'a','b','c'};
数组的长度属性
a.length
数组中数据的访问
a[0] = 43;
a[3] = 444;
int a = a[0];
int b = a[3];
数组的遍历
从头到尾依次访问每个位置的值
for(int i=0;i<a.length;i++) {
...a[i]...
}
数组复制
Arrays.copyOf(原数组,新长度)
将数组复制为指定长度的新数组
*) 新长度比原数组长度短: 截取
*) 新长度比原数组长度长: 增加新位置
System.arraycopy(
原数组,
原数组起始位置,
目标数组,
目标数组起始位置,
复制的数据个数)
java.util.Arrays
Arrays.toString(数组)
将数组中所有元素连接为字符串
格式: "[元素1,元素2,元素3,元素4]"
Arrays.sort(数组)
数组排序
调优的快速排序算法
Arrays.copyOf(原数组, 新长度)
Arrays.binarySearch(数组, 寻找的目标数据)
二分法查找、折半查找
在有序数组中查找指定数据所在的位置,
返回下标值,
如果找不到,返回值无意义
* 存放数组的数组
二维数组的创建
1. int[][] a = new int[2][3];
2. int[][] a = new int[2][];
a[0] = new int[]{2,4,2,2,4};
a[1] = new int[]{7,4,8};
3. int[][] a = {
{2,3,4},
{1,2,3},
{7,6},
{2,3,5,7,9},
};
访问
a[1][5]
遍历
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
...a[i][j]...
}
}