Java基礎(chǔ)-ArrayList集合

在前面我們學(xué)習(xí)了數(shù)組,數(shù)組可以保存多個(gè)元素,但在某些情況下無法確定到底要保存多少個(gè)元素,此時(shí)數(shù)組將不再適用,因?yàn)閿?shù)組的長(zhǎng)度不可變。例如,要保存一個(gè)學(xué)校的學(xué)生,由于不停有新生來報(bào)道,同時(shí)也有學(xué)生畢業(yè)離開學(xué)校,這時(shí)學(xué)生的數(shù)目很難確定。為了保存這些數(shù)目不確定的元素,JDK中提供了一系列特殊的類,這些類可以存儲(chǔ)任意類型的元素,并且長(zhǎng)度可變,統(tǒng)稱為集合。

ArrayList集合是程序中最常見的一種集合,它屬于引用數(shù)據(jù)類型(類)。在ArrayList內(nèi)部封裝了一個(gè)長(zhǎng)度可變的數(shù)組,當(dāng)存入的元素超過數(shù)組長(zhǎng)度時(shí),ArrayList會(huì)在內(nèi)存中分配一個(gè)更大的數(shù)組來存儲(chǔ)這些元素,因此可以將ArrayList集合看作一個(gè)長(zhǎng)度可變的數(shù)組。

創(chuàng)建對(duì)象:與其他普通的引用數(shù)據(jù)類型創(chuàng)建方式完全相同,但是要指定容器中存儲(chǔ)的數(shù)據(jù)類型:
ArrayList<要存儲(chǔ)元素的數(shù)據(jù)類型> 變量名 = new ArrayList<要存儲(chǔ)元素的數(shù)據(jù)類型>();

  • 集合中存儲(chǔ)的元素,只能為<>括號(hào)中指定的數(shù)據(jù)類型元素;
  • “<要存儲(chǔ)元素的數(shù)據(jù)類型>”中的數(shù)據(jù)類型必須是引用數(shù)據(jù)類型,不能是基本數(shù)據(jù)類型;
    下面給出8種基本數(shù)據(jù)類型所對(duì)應(yīng)的引用數(shù)據(jù)類型表示形式:

我們通過舉幾個(gè)例子,來明確集合的創(chuàng)建方式:

  • 存儲(chǔ)String類型的元素
    ArrayList<String> list = new ArrayList<String>();
  • 存儲(chǔ)int類型的數(shù)據(jù)
    ArrayList<Integer> list = new ArrayList<Integer>();
  • 存儲(chǔ)Phone類型的數(shù)據(jù)
    ArrayList<Phone> list = new ArrayList<Phone>();
集合中常用方法
import java.util.ArrayList;
public class ArrayListDemo01 {
    public static void main(String[] args) {
        // 創(chuàng)建ArrayList集合
        ArrayList<String> list = new ArrayList<String>();
        // 向集合中添加元素
        list.add("stu1");
        list.add("stu2");
        list.add("stu3");
        list.add("stu4");
        // 獲取集合中元素的個(gè)數(shù)
        System.out.println("集合的長(zhǎng)度:" + list.size());
        // 取出并打印指定位置的元素
        System.out.println("第1個(gè)元素是:" + list.get(0));
        System.out.println("第2個(gè)元素是:" + list.get(1));
        System.out.println("第3個(gè)元素是:" + list.get(2));
        System.out.println("第4個(gè)元素是:" + list.get(3));
    }
}

ArrayList集合相當(dāng)于是一個(gè)長(zhǎng)度可變的數(shù)組,所以訪問集合中的元素也是采用索引方式訪問,第一個(gè)元素存儲(chǔ)在索引0的位置,第二個(gè)元素存儲(chǔ)在索引1的位置,依次類推。

集合的遍歷

通過集合遍歷,得到集合中每個(gè)元素,這是集合中最常見的操作。集合的遍歷與數(shù)組的遍歷很像,都是通過索引的方式,集合遍歷方式如下:

ArrayListDemo02.java
 1  import java.util.ArrayList;
 2  public class ArrayListDemo02 {
 3      public static void main(String[] args) {
 4          //創(chuàng)建ArrayList集合
 5          ArrayList<Integer> list = new ArrayList<Integer>();
 6          //添加元素到集合
 7          list.add(13);
 8          list.add(15);
 9          list.add(22);
 10         list.add(29);
 11         //遍歷集合
 12         for (int i = 0; i < list.size() ; i++) {
 13             //通過索引,獲取到集合中每個(gè)元素
 14             int n = list.get(i) ;
 15             System.out.println(n);
 16         }
 17     }
 18 }

上述代碼中,第5行定義了一個(gè)可以存儲(chǔ)int元素的集合;第7-10行,實(shí)現(xiàn)將int類型數(shù)值存儲(chǔ)到集合中;第12-16行,實(shí)現(xiàn)遍歷集合元素。這里要強(qiáng)調(diào)一點(diǎn),get方法返回值的類型為集合中元素的類型。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,637評(píng)論 18 399
  • 在經(jīng)過一次沒有準(zhǔn)備的面試后,發(fā)現(xiàn)自己雖然寫了兩年的android代碼,基礎(chǔ)知識(shí)卻忘的差不多了。這是程序員的大忌,沒...
    猿來如癡閱讀 3,115評(píng)論 3 10
  • 《Kotlin 極簡(jiǎn)教程 》第5章 集合類 《Kotlin極簡(jiǎn)教程》正式上架: 點(diǎn)擊這里 > 去京東商城購買閱讀 ...
    光劍書架上的書閱讀 2,378評(píng)論 0 11
  • 職場(chǎng)有個(gè)升職規(guī)律,最基礎(chǔ)的崗位人數(shù)最多,而且每個(gè)人都在努力攀登,越往上升職就越難,最后到達(dá)金字塔頂端的人寥寥無幾。...
    猴哥如是說閱讀 373評(píng)論 0 0
  • 木蘭又倚上 當(dāng)年你用清竹為我搭舍 只惜木蘭 再?zèng)]君子 一盞茶 舒展開糾纏的逝憶 妖艷的合歡 雨侵難舍 連鴛鴦也在相...
    栗春初閱讀 363評(píng)論 4 2

友情鏈接更多精彩內(nèi)容