1.解决数组长度的不可变问题(数组扩容的思想)
package com.bjsxt.shujujiegou;
import java.util.Arrays;
public class TestOpArray {
public static void main(String[] args) {
//解决数组的长度不可变的问题
int[] arr = new int[]{9, 8, 7};
//快速查看数组中的元素
System.out.println(Arrays.toString(arr));
//要加入数组的目标元素
int dst = 6;
//创建一个新的数组,长度是原数组长度+1
int[] newArr = new int[arr.length + 1];
//把原数组中的数据全部复制到新数组中
for (int i = 0; i < arr.length; i++) {
newArr[i] = arr[i];
}
//把目标元素放入新数组的最后
newArr[arr.length] = dst;
//新数组替换原数组
arr = newArr;
//查看数组增加后的元素样式 !! 有[] 不知道为啥
System.out.println(Arrays.toString(arr));
}
}
2.对数组元素进行删除操作(找到你关注的对象元素,以该元素为中心,对数组进行操作)
package com.bjsxt.shujujiegou;
import java.util.Arrays;
public class TestOpArray2 {
//如何删除数组中的元素
public static void main(String[] args) {
//目标数组
int[] arr = new int[]{9, 8, 7, 6, 5, 4};
//要删除的元素的下标
int dst = 5;
//打印原数组
System.out.println(Arrays.toString(arr));
//创建一个新的数组,长度是原数组的长度-1
int[] newArr = new int[arr.length - 1];
//复制原数组中除被删除的那个元素之外的所有元素
for (int i = 0; i < newArr.length; i++) {
//要删除的元素之前的元素
if (i < dst) {
newArr[i] = arr[i];
//要删除元素之后的元素
} else {
newArr[i] = arr[i + 1];
}
}
//新数组替换旧数组
arr = newArr;
System.out.println(Arrays.toString(arr));
}
}
3.根据下标查询元素 ---------------------------->(索引与数据有一一对应关系)
在使用中,数组索引=数据长度-1 --------->(索引从0开始计算)
package com.bjsxt.shujujiegou;
//根据下标查询元素
public class TestSearch {
public static void main(String[] args){
//目标数组
int[] arr = new int[] {2,3,5,6,8,4,9,0};
//目标元素
int target = 8;
//目标元素所在的下标
int index = -1;
//遍历数组
for(int i=0;i<arr.length;i++){
if(arr[i]==target){
index=i;
break;
}
}
//打印目标元素的下标
System.out.println("index:" +
""+index);
}
}