7、数组中添加元素(test5.java)
前文提到了系统函数,arraycopy(),这是一个强大的函数,根据它的特性便可以看出由于他的特殊性质,加以利用的话,就在数组中添加元素,但这样的方式会造成的结果就是,添加n个元素,那么原数组中倒数n个元素就会丢失。
举个例子,数组中添加元素:
1 //在一个数组中添加一个元素。(解决方案:为了在第i个位置增加一个元素,可以首先把从第i个位置开始的所有元素向后移一个位置,然后插入新值,注意原数组的最后一个元素会丢失。) 2 3 //导入输入所需要的包 4 import java.util.Scanner; 5 6 public class test5 7 { 8 public static void main(String [] arys) 9 { 10 int [] arr1 = {1,2,3,4,5}; 11 12 Scanner sc = new Scanner(System.in);//创建一个输入流对象 13 System.out.println("请输入要插入的位置:"); 14 int index = sc.nextInt();//获取用户输入的整型值 15 16 System.out.print("请输入您要插入的值:"); 17 int num = sc.nextInt(); 18 19 //实现数据的插入 20 //1。将指定位置开始的值往后挪,由于数组长度是不可变的,所以最后一个数会丢失 21 System.arraycopy(arr1,index,arr1,index+1,arr1.length-index-1); 22 23 //2。将数据添加到指定位置 24 arr1[index] = num; 25 26 for(int n : arr1) 27 { 28 System.out.print(n+"\t"); 29 } 30 } 31 }