Java進階學習(六) 容器

來源:互聯網
上載者:User

Java中有一些對象被稱為容器(container)。容器中可以包含多個對象,每個對象稱為容器中的一個元素。容器是用對象封裝的資料結構(data structure)。

充滿夢想的容器

不同的資料結構有不同的組織元素的方式,也可以有不同的操作。根據具體實施的不同,資料結構的操作效率也各有差別。Java中的容器也是這樣。我們要選擇適當的容器,以應對變化的需求。

(關於資料結構更多的內容,可參考紙上談兵: 演算法與資料結構)

數組

數組(array)是最常見的資料結構。數組是相同類型元素的有序集合,並有固定的大小(可容納固定數目的元素)。數組可以根據下標(index)來隨機存取(random access)元素。在記憶體中,數組通常是一段連續的儲存單元。

Java支援數組這一資料結構。我們需要說明每個數組的類型和大小。如下:

public class Test   {       public static void main(String[] args)       {           Human[] persons = new Human[2];              // array size 2           persons[0] = new Human(160);           persons[1] = new Human(170);                  int[] a = {1, 2, 3, 7, 9};                   // array size 5           System.out.println(a[2]);                  String[] names = {"Tom", "Jerry", "Luffy"};  // array size 3           System.out.println(names[0]);       }   }

在說明類型時,在類型說明(Human)後面增加一個[],來說明是一個數組。使用new建立容器時,需要說明數組的大小。

我們可以使用 數組名[下標] 的方式來調用某個元素。我們可以逐個的初始化數組的元素,也可以在聲明的同時使用{}初始化數組。

對於非基本類型的數組,比如Human[],數組中儲存的是對象的引用。

我們可以調用System.arraycopy()方法來有效複製數組:

public class Test   {       public static void main(String[] args)       {           int[] aFrom = {1, 2, 3, 7, 9}; // array size 5           int[] aTo  = new int[3];           System.arraycopy(aFrom, 1, aTo, 0, 3);           System.out.println(aTo[1]);       }   }

System.arraycopy()中,aFrom為想要複製出去的數組,aTo為想要複製到的數組,1為aFrom的想要複製出去的元素起始位置,0為aTo中想要儲存複製來元素的起始位置,3為所要複製的元素總數。

查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/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.