我们知道,在C语言和java当中都是一种十分重要的数据结构,但是熟悉数组的朋友都知道,数组一旦被赋值就很难被轻易改动,相比之下人们往往更偏向另一种类似于数组当中但比数组更灵活的集合类型。但是,爱挑战的我。纵使数组在复制之后很难被改动,但是不意味着不能被改动,今天我就教大家如何对数组进行添加元素和删除元素操作以及插入元素操作。
打开eclipse我们新建一个类,加入main方法后
package ShuZu;
使用for循环,遍历数组就可以打印出数组的每一项,也可以将数组转化为字符串然后输出。
import java.util.Arrays;
public class Arry1 {
/*
* 如何增加数组中的元素
* 1)先创立一个新数组
* 2)将老数组的元素加进新数组里面
* 3)其余的元素自己家此处加一个9
*
public static void main(String[] args) {
int[] arry = new int[] {6,7,8};
//创建一个新数组,其长度为老数组的加一
int[] newArry = new int[arry.length+1];
System.out.println(&34;+Arrays.toString(arry));
int dst = 9;
for(int i =0;i<arry.length;i++) {
//将原数组加入到新数组当中
import java.util.Arrays;public class Testt{ public static void main(String[]args){ int a[]={32,54,65,3,5,1,75,8,545}; for(int i=0;i<a.length;i++){ for(int j=i+1;ja[j]){ int。
newArry[i]=arry[i];
}
//将目标元素加入到新数组当中
newArry[arry.length]=dst;//此处arry.lenth是新数组的最后后一个元素,怎么输出整个数组,为什么?第一个元素从零开始算起,
//新数组替换原数组
arry=newArry;
//输出数组的值
System.out.println(&34;+Arrays.toString(arry));
}
}
执行结果如下:
//将原数组加入到新数组当中
newArry[i]=arry[i];
}在这段循环当中为什么i<arry.length而不是i<newArray.length呢?那是因为在该循环体当中进行赋值操作时newArray[i]=arry[i],当i=newArray.length时,arry[]是会出现越界操作。
接下来我们继续讲讲如何在原数组当中进行删除元素操作上代码:
package ShuZu;
import java.util.Arrays;
public class Arry2 {
public static void main(String[] args) {
int[] arry =new int[] {4,5,6,7,8};
System.out.println(&34;+Arrays.toString(arry));
//要删除的目标元素下标此处是在该数组的第2个位置进行删除
int index =2;
//新建一个数组
int[] newArry = new int[arry.length-1];
//弄一个循环,,将原数组符合条件的加进新数组当中
for(int i = 0;i<newArry.length;i++) {
if(i<index) {//在下标元素之前
newArry[i] =arry[i];
}else {//下标元素之后
newArry[i]=arry[i+1];
}
}
//新数组对老数组进行替换
arry = newArry;
//输出新数组
System.out.println(&34;+Arrays.toString(arry));
}
}
其运行结果如下:
java.util.Scanner sc = new java.util.Scanner(System.in);String[] arr = new String[5];for(int i = 0; i < arr.length; i++){ arr[i] = sc.next();} //这里使用util.Arrays的代码输出数组 System.o。
仔细观察代码,我们会发现,删除元素的操作依旧是新建一个空数组并使它的长度为原数组减一。
然后进行筛选,将原数组当中符合条件的元素一一复制到新数组当中。
接下来是插入元素操作:
import java.util.Arrays;
public class array3 {
public static void main(String[] args) {
//建立一个数组,并进行赋值
int[] arry = new int[] {2,3,4,5,6};
System.out.println(&34;+Arrays.toString(arry));
int index=2;//设置下标索引值
int element = 9;//设置插入的值
//再创建一个新数组,并且将其长度设置为原数组的长度加一
int[] newArray = new int[arry.length+1];
for(int i =0;i<arry.length;i++) {
//接下来对原数组的元素进行筛选操作
if(i<index) {
newArray[i]=arry[i];
}else {
//当i=时,将其空出。之后的位置继续由原数组复制添加进来
newArray[i+1]=arry[i];
}
}
//将新数组下标为index的空元素进行填补。就是插入操作
newArray[index] = element;
//将原数组用新数组进行替换
arry = newArray;
System.out.println(&34;);
System.out.println(&34;+Arrays.toString(arry));//将数组转为字符串输出。
import java.util.*;public class Test { public static void main(String[]args){ int[] arry = new int[]{1,2,3,4,5,6,7,8,9,0,2,4,3,6,5,9,6,5};//这个数组是您自己定义的,有多少元素自己写就。
}
}
其运行结果如下: