java動態數組筆記


動態數組

在java.lang.reflect包下提供了Array類,包括一系列static方法,通過這些方法可動態的創建數組、給元素賦值、取出元素值等等

//理解數組引用——下面定義的objs數組存的數據類型是可以多樣的

Object[] objs=new Object[10];

objs[0] = new String();

objs[1]= new double();

objs[2]= new Student();  //student是一個基於基礎數據類型的復雜數據類型  自定義的數據類型

Array提供的主要方法如下:

static Object newInstance(Class<?>componentType,int[] dim):創建一個具有指定的組件類型和維度的新數組

//理解其中的int[]dim數組含義:
int[] dim={2,3,4};//dim是三維數組,每個維度長度分別為2,3,4
Object obj=Array.newInstance(Object.class,dim);
//上面兩行等價於: int[][][]obj=new int[2][3][4]
static void setXxx(Object array,int index,xxx val):給數組對象array中第index個元素賦值val

  static xxx getXxx(Object array,int index):以xxx形式返回指定數組對象...

思考:這里只有一個決定位置的元素,當需要從多維數組取值時,如何確定元素的位置(例如二維數組第幾行第幾列)???

代碼(應用):其實只需一個元素index就可以找到位置,下面是操作代碼:

降維,多維數組其本質都是一維數組

//創建一個含有10*15*18個元素的整型數組

int dims[]={10,15,18};

Object arr=Array.newInstance(int class,dims);

//給arr[5][8][10]賦值

Object arr5=Array.get(arr,5);

Object arr58=Array.get(arr5,8);

Array.set(arr58,10,30);

//取出arr[5][8][10]值並輸出

Object elem=Array.get(arr58,10);

System.out.println(elem);

static void getXxx(Object array,int index):以xxx形式返回指定數組對象array中第index個元素值 

 

                                                                               

 


免責聲明!

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



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