前文提到了系統函數,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 }