java數組學習筆記

來源:互聯網
上載者:User

標籤:

發現自己基礎知識學的不夠紮實,慢慢回顧下!

數組建立:

  方式一:type[] 變數名 = new type[元素個數];  ——如:int[] a = new int[10];

  方式二:type 變數名[] = new type[元素個數];  ——如:int a[] = nwe int[10];

  方式三:type[] a= new type[]{初始化值,逗號分隔} ——如:int[] a=new int[]{1,2,3}    

 

  初始化時,不能同時定義維和初始化值  ——例如 :int[] a=new int[3]{1,2,3}

多維陣列:

  多維陣列時,第一維必須指定,同時必須由高維向低維定義——例如:int[][] a=new int[][3];即為錯

  type[][] a=new type[2][3];

  type a[][]=new type[3][2];

  int[][] a=new int[][]{{1,2,3},{2,2},{3,2,1}}

 

length:

  唯讀成員length是數組對象的一部分,唯一一個可以訪問的欄位或方法。[]是訪問數組對象的唯一方式。

  多維陣列,length只能計算第一維長度。

賦值引用:

  JAVA數組初始化的時候擁有的只是對數組的引用,並沒有給數組分配儲存空間。因此,數組之間的複製不能簡單地用“=”賦值,因為操作的是同一對象。

  

   結果顯示:

    

    改變arrayB[0]的值,改變的是引用的數組,因此我們輸出arrayA[0],其實和arrayB[0]一樣。

數組複製:

  1.for迴圈

  2.System.arraycopy(src, srcPos, dest, destPos, length);

      src:源數組; 
                srcPos:源數組要複製的起始位置;
                dest:目的數組; 
                destPos:目的數組放置的起始位置; 
                length:複製的長度.

  ——System.arraycopy(arrayA,0,arrayB,0,1);要比for迴圈快,但是對象數組只是複製引用,不會有兩份拷貝。

    並且System.arraycopy()不會自動封裝和拆包,需要數組為同一類型,或者轉換為同類型。

數組比較:

  Arrays.equals(arrayA, arrayB);相等條件:數組元素個數相等,對應元素相等

  多維陣列比較:Arrays.deepEquals(arrayA, arrayB); 兩個數組必須是同類型數組

 

java數組學習筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.