JAVA数组相关知识点
数组定义
// 数组Array -> 存放一组相同类型的数据
// 方式一:只能在声明的时候赋值
int[] arr = {1, 2, 3, 4};
int[] arr = new int[]{1, 2, 3, 4}
// 方式二:使用最多,给数组初始化(长度)
int[] arr = new int[10]; //创建一个容量为10的数组, 默认0
// 数组下标默认从0开始,取值 arr[0 ~ length-1]
// 方式三:可以反复赋值
int[] ar2 = new int[] {1,2,3,4,5,6};
ar2 = new int[] {3, 4, 5};
数组打印
System.out.println(Arrays.toString(arr));
数组的相关应用
public static void main(String[] args) {
// 1.先生成10个随机数并且赋值给数组
int[] a = new int[10];
for (int i = 0; i < a.length; i++) {
a[i] = (int) (Math.random() * 100);
}
// 2.打印数组
System.out.println(Arrays.toString(a));
// 3.求数组元素最大值 -> 遍历/迭代
int max = -1;// 假设最大值
for (int i = 0; i < a.length; i++) {
if (a[i] > max) {
max = a[i];
}
}
System.out.println("最大值:" + max);
// 4.将最大值添加到数组最后位置
// 创建新的数组,长度为11,值都是0
int[] b = new int[11];
// 将原来数组的元素逐个复制到新数组中
for (int i = 0; i < a.length; i++) {
b[i] = a[i];
}
// 将新数组最后一个元素赋值
b[b.length - 1] = max;
System.out.println(Arrays.toString(b));
// 用新数组替换原来数组
a = b;
System.out.println(Arrays.toString(a));
}
数组的扩容
// 数组的快速扩容 -> 复制
/*a = Arrays.copyOf(a, a.length + 1);
a[a.length - 1] = max;
System.out.println(Arrays.toString(a));*/
int[] b = new int[11];
// 1.要复制的原数组a
// 2.从原数组的哪个下标位置开始复制
// 3.目标数组b
// 4.要复制到目标数组的第几个下标位置
// 5.要复制的元素个数
System.arraycopy(a, 0, b, 0, a.length);
a = b;
a[a.length - 1] = max;