Java自學筆記之數組

數組  棧 堆 首地址 null

Java中的數組 ==》 數組中的數組

Java中的數組不一定是規則矩陣形式

定義一個多維數組
int [][] xx;
xx=new int [3][];
xx[0]=new int[3];
xx[1]=new int[2];
xx[2]=null;//無意義

int [][] xx = new int [2][3];
xx[0][0] = 3;
xx[1][2] = 6;
for(int i=0;i<xx.length;i++){
 for(int j=0;j<xx[i].length;j++){
  System.out.println(xx[i][j]);
 }
}

多維數組的靜態初始化:int[][] xx={{3,1,6},{2,5},{8}};

java.lang.Object
  java.util.Arrays
public class Arrays extends Object
 public static void sort(byte[] a)
對指定的 byte 型數組按數字升序進行排序。該排序算法是一個經過調優的快速排序法,改編自 Jon L. Bentley 和 M. Douglas McIlroy 合著的《Engineering a Sort Function", Software-Practice and Experience》Vol. 23(11) P. 1249-1265 (November 1993)。此算法在許多數據集上提供 n*log(n) 性能,這導致其他快速排序會降低二次型性能。

參數:
a - 要排序的數組。

java.lang.Object
  java.lang.System
public final class System extends Object
 public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)
從指定源數組中複製一個數組,複製從指定的位置開始,到目標數組的指定位置結束。從 src 引用的源數組到 dest 引用的目標數組,數組組件的一個子序列被複制下來。被複制的組件的編號等於 length 參數。源數組中位置在 srcPos 到 srcPos+length-1 之間的組件被分別複製到目標數組中的 destPos 到 destPos+length-1 位置。
如果參數 src 和 dest 引用相同的數組對象,則複製的執行過程就好像首先將 srcPos 到 srcPos+length-1 位置的組件複製到一個帶有 length 組件的臨時數組,然後再將此臨時數組的內容複製到目標數組的 destPos 到 destPos+length-1 位置一樣。

If 如果 dest 爲 null,則拋出 NullPointerException 異常。

如果 src 爲 null, 則拋出 NullPointerException 異常,並且不會修改目標數組。

否則,只要下列任何情況爲真,則拋出 ArrayStoreException 異常並且不會修改目標數組:

src 參數指的是非數組對象。
dest 參數指的是非數組對象。
src 參數和 dest 參數指的是那些其組件類型爲不同基本類型的數組。
src 參數指的是具有基本組件類型的數組且 dest 參數指的是具有引用組件類型的數組。
src 參數指的是具有引用組件類型的數組且 dest 參數指的是具有基本組件類型的數組。
否則,只要下列任何情況爲真,則拋出 IndexOutOfBoundsException 異常,並且不會修改目標數組:

srcPos 參數爲負。
destPos 參數爲負。
length 參數爲負。
srcPos+length 大於 src.length,即源數組的長度。
destPos+length 大於 dest.length,即目標數組的長度。
否則,如果源數組中 srcPos 到 srcPos+length-1 位置上的實際組件通過分配轉換並不能轉換成目標數組的組件類型,則拋出 ArrayStoreException 異常。在這種情況下,將 k 設置爲比長度小的最小非負整數,這樣就無法將 src[srcPos+k] 轉換爲目標數組的組件類型;當拋出異常時,從 srcPos 到 srcPos+k-1 位置上的源數組組件已經被複制到目標數組中的 destPos 到 destPos+k-1 位置,而目標數組中的其他位置不會被修改。(因爲已經詳細說明過的那些限制,只能將此段落有效地應用於兩個數組都有引用類型的組件類型的情況。)


參數:
src - 源數組。
srcPos - 源數組中的起始位置。
dest - 目標數組。
destPos - 目標數據中的起始位置。
length - 要複製的數組元素的數量。
拋出:
IndexOutOfBoundsException - 如果複製會導致對數組範圍以外的數據的訪問。
ArrayStoreException - 如果因爲類型不匹配而使得無法將 src 數組中的元素存儲到 dest 數組中。
NullPointerException - 如果 src 或 dest 爲 null。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章