Java中對數組的操作


  數組對於每一門編程語言來說都是重要的數據結構之一,當然不同語言對於數組的實現及處理也不盡相同。
  Java語言中提供的數組是用來存儲固定大小的同類型元素。如:聲明一個數組變量,numbers[100]來代替直接聲明100個獨立變量number0,number1,...,number99。本文將介紹Java中對於數組的一些簡單操作及應用。
  1、數組的擴容

 1 /**
 2  * 數組的擴容:本質上是先定義一個更大的數組,然后將原數組里面的元素原封不動的拷貝到新數組中
 3  * @param arr:要擴容的數組
 4  * @return:返回擴容后的新數組
 5  */
 6 public static String[] extendRange(String[] arr) {
 7     //使原數組擴容為原來的2倍
 8     String[] strArr = new String[arr.length*2];    
 9     System.arraycopy(arr, 0, strArr, 0, arr.length);
10     return strArr;
11 }

  2、數組的查找

 1 /**
 2  * 數組的查找:在給定的數組中查找出指定的元素
 3  * @param arr:要查找的數組
 4  * @param index:要查找的元素
 5  * @return:若找到,則返回數組中元素所在的索引,若沒有找到則返回-1
 6  */
 7 public static int searchElement(String[] arr,String str) {
 8     //遍歷數組,將數組中的元素與要查找的元素進行一一比對
 9     for(int i=0;i<arr.length;i++) {
10         if(arr[i]==str) {
11             return i;
12         }
13     }
14     return -1;
15 }

  3、元素的插入

 1 /**
 2  * 元素的插入:在給定的數組中的特定位置插入指定的元素
 3  * 注意:在測試此方法前,應先保證數組索引不會出現越界異常,可先調用extendRange(String[] arr)進行數組擴容
 4  * @param arr:給定的數組
 5  * @param index:要插入的元素索引
 6  * @param str:要插入的元素
 7  * @return:返回插入后的數組
 8  */
 9 public static String[] insertElement(String[] arr,int index,String str) {
10     //先找到數組中索引為index的位置
11     int equalsIndex = -1;    //記錄數組中索引為index的位置
12     for(int i=0;i<arr.length;i++) {
13         if(i==index) {
14             equalsIndex = i;
15             break;
16         }
17     }
18     //找到了
19     if(equalsIndex!=-1) {
20         //將index索引所在元素及之后的所有元素往后移動一個位置,再在index索引所在位置插入指定元素
21         for(int i=arr.length-2;i>=equalsIndex;i--) {
22             arr[i+1]=arr[i];
23         }
24         arr[equalsIndex]=str;
25     }else {
26         //沒有找到
27         System.out.println("對不起,您輸入的數組索引不存在!");
28     }
29     return arr;
30 }

  4、元素的修改

 1 /**
 2  * 元素的修改:將數組中指定的元素修改為給定的元素
 3  * @param arr:給定的數組
 4  * @param strOld:要修改的元素
 5  * @param strNew:修改后的元素
 6  * @return:返回修改后的數組
 7  */
 8 public static String[] modifyElement(String[] arr,String strOld,String strNew) {
 9     //調用searchElement(String[] arr,String str)方法查找出要修改的元素所在的索引
10     int index = searchElement(arr,strOld);
11     //找到啦
12     if(index!=-1) {
13         arr[index] = strNew;
14     }else {
15         //沒找到
16         System.out.println("對不起,您要修改的元素不存在!");
17     }
18     return arr;
19 }

  5、元素的刪除

 1 /**
 2  * 元素的刪除:將數組中指定的元素刪除
 3  * @param arr:給定的數組
 4  * @param str:要刪除的元素
 5  * @return:返回刪除后的數組
 6  */
 7 public static String[] deleteElement(String[] arr,String str) {
 8     //調用searchElement(String[] arr,String str)方法查找出要修改的元素所在的索引
 9     int index = searchElement(arr, str);
10     //找到啦
11     if(index!=-1) {
12         //將index所在及以后索引的元素依次前移一位
13         for(int i=index;i<arr.length-1;i++) {
14             arr[i]=arr[i+1];
15         }
16         //將最后一位置為空
17         arr[arr.length-1]=null;
18     }else {
19         //沒找到
20         System.out.println("對不起,您刪除的元素不存在!");
21     }
22     return arr;
23 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM