国产另类ts人妖一区二区_欧美肥老太做爰视频_快穿高h肉_国产欧美综合在线

當(dāng)前位置: 首頁 / 技術(shù)干貨 / 正文
ArrayList集合介紹

2022-12-09

集合 arraylist 元素 數(shù)組

  ArrayList集合介紹

  ArrayList是List接口的一個實現(xiàn)類,它是程序中最常見的一種集合。在ArrayList內(nèi)部封裝了一個長度可變的數(shù)組對象,當(dāng)存入的元素超過數(shù)組長度時,ArrayList會在內(nèi)存中分配一個更大的數(shù)組來存儲這些元素,因此可以將ArrayList集合看作一個長度可變的數(shù)組。

  ArrayList集合中大部分方法都是從父類Collection和List繼承過來的,其中add()方法和get()方法分別用于實現(xiàn)元素的存入和取出。接下來通過一個案例學(xué)習(xí)ArrayList集合的元素存取。


import java.util.ArrayList;

public class Example01 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList(); // 創(chuàng)建ArrayList集合
        list.add("張三"); // 向集合中添加元素
        list.add("李四");
        list.add("王五");
        list.add("趙六");
        // 獲取集合中元素的個數(shù)
        System.out.println("集合的長度:" + list.size());
        // 取出并打印指定位置的元素
        System.out.println("第2個元素是:" + list.get(1));
    }
}

   從運(yùn)行結(jié)果可以看出,索引位置為1的元素是集合中的第二個元素,這就說明集合和數(shù)組一樣,索引的取值范圍是從0開始的,最后一個索引是size-1.在訪問元素時一定要注意索引不可超出此范圍,否則會拋出角標(biāo)越界異常IndexOutOfBoundsException。

  由于ArrayList集合的底層是使用一個數(shù)組來保存元素,在增加或刪除指定位置的元素時,會導(dǎo)致創(chuàng)建新的數(shù)組,效率比較低,因此不適合做大量的增刪操作。因為這種數(shù)組的結(jié)構(gòu)允許程序通過索引的方式來訪問元素,所以使用ArrayList集合查找元素很便捷。

  泛型安全機(jī)制問題

  在IntelliJ IDEA中編譯上述程序時,會得到警告信息,提示在使用ArrayList集合時并沒有明確指定集合中存儲什么類型的元素,會產(chǎn)生安全隱患,這涉及到泛型安全機(jī)制的問題。警告信息如下所示。  


Unchecked call to 'add(E)' as a member of raw type 'java.util.ArrayList'

   在編寫程序時,不要忘記使用“import java.util.ArrayList;”語句導(dǎo)包,否則IDEA會提示類型不能解決的錯誤信息,將鼠標(biāo)移動到報出錯誤的ArrayList()上,錯誤顯示如下所示:


Cannot resolve symbol 'ArrayList'

  要解決此問題,只需單擊圖中錯誤顯示小窗口中Import class的鏈接,這樣IntelliJ IDEA就會自動導(dǎo)入ArrayList的包。在后面的案例中會大量地用到集合類,為了方便,程序中可以使用import java.util.*;來進(jìn)行導(dǎo)包,其中*為通配符,整個語句的意思是將java.util包中的內(nèi)容都導(dǎo)入進(jìn)來。

分享: 更多

上一篇:Java-Collection接口及List接口

下一篇:LinkedList集合

好程序員公眾號

  • · 剖析行業(yè)發(fā)展趨勢
  • · 匯聚企業(yè)項目源碼

好程序員開班動態(tài)

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數(shù)據(jù)+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發(fā) <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數(shù)據(jù)分析 <高端班>

    開班時間:2021-07-12(北京)

    預(yù)約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發(fā) <高端班>

    開班時間:2021-07-12(北京)

    預(yù)約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓(xùn)IT培訓(xùn)
在線咨詢
IT培訓(xùn)IT培訓(xùn)
試聽
IT培訓(xùn)IT培訓(xùn)
入學(xué)教程
IT培訓(xùn)IT培訓(xùn)
立即報名
IT培訓(xùn)

Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號-5 京公網(wǎng)安備 11010802035720號