海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020java教程:数组的高级应用插入、扩容、移除、替换

未分类
2020-08-08 11:34:38
1822677238@qq.com

手机扫码查看

2020java教程:数组的高级应用插入、扩容、移除、替换

public class demos {
static int[] nums=new int[5];//地址:0X0000A001
static int index=0;//有效元素个数为0,必须通过insert函数插入
public static void main(String[] args) {
insert(0,11);
insert(1,22);
insert(2,33);;
insert(3,44);;
insert(4,55);;
print(nums);
insert(0,66);
print(nums);
remove(5);//如何将下标2的值移除?
print(nums);
remove(2);//如何将下标2的值移除?
print(nums);
replace(3,99);//如何将下标3的值替换为99?
print(nums);
}
//移除数组中的元素
public static void remove(int position){
for(int i=position;i<=index;i++){
nums[i] = nums[i+1];
}
index–;
}
//替换数组中的元素
public static void replace(int position,int value){
nums[position]=value;
}
//如果原数组中的元素满了,就必须扩容
public static void kuorong(){
//获得新数组,并带有原值
int[] newArr=new int[nums.length*2];//地址为 0X0000B002
//利用for循环遍历,把旧数组的值赋给新数组
for(int i=0;i<nums.length;i++){
newArr[i]=nums[i];
}
nums=newArr;//将新数组赋值给原变量
}
//向数组中插入一个新元素
public static void insert(int position,int value){
if(position < 0 || position>index){
System.out.println(“魂淡君提醒您,你输入的位置有误,请输入从0~”+index+”之间的整数”);
return;
}
//如果数组的长度等于有效元素个数,执行扩容
if(nums.length==index){
kuorong();
}
//将原数据依次向右移动
for(int i=index;i>position;i–) {
nums[i] = nums[i – 1];
}
//如果下标位置大于等于有效元素个数走这里
//目标位置存入新值
nums[position]=value;
index++;
}
public static void print(int[] arr){
for(int i=0;i<index;i++){
System.out.print(arr[i]+”\t”);
}
System.out.println();
}
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注