Java ArrayList類的基礎(chǔ)使用講解
數(shù)組的長度是固定的,無法適應(yīng)數(shù)據(jù)變化的需求。為了解決這個問題,Java提供了另一個容器 java.util.ArrayList集合類,讓我們可以更便捷的存儲和操作對象數(shù)據(jù)。
什么是ArrayList類
java.util.ArrayList 是大小可變的數(shù)組的實現(xiàn),存儲在內(nèi)的數(shù)據(jù)稱為元素。此類提供一些方法來操作內(nèi)部存儲 的元素。 ArrayList 中可不斷添加元素,其大小也自動增長。
ArrayList使用步驟
查看類
java.util.ArrayList :該類需要 import導(dǎo)入使后使用。 ,表示一種指定的數(shù)據(jù)類型,叫做泛型。E ,取自Element(元素)的首字母。在出現(xiàn)E 的地方,我們使 用一種引用數(shù)據(jù)類型將其替換即可,表示我們將存儲哪種引用類型的元素。代碼如下:
ArrayList,ArrayList
查看構(gòu)造方法
public ArrayList() :構(gòu)造一個內(nèi)容為空的集合。 基本格式:
ArrayList list = new ArrayList();
在JDK 7后,右側(cè)泛型的尖括號之內(nèi)可以留空,但是<>仍然要寫。簡化格式:
ArrayList list = new ArrayList<>();
查看成員方法
public boolean add(E e) : 將指定的元素添加到此集合的尾部。 參數(shù) E e ,在構(gòu)造ArrayList對象時, 指定了什么數(shù)據(jù)類型,那么add(E e) 方法中,只能添加什么數(shù)據(jù) 類型的對象。 使用ArrayList類,存儲三個字符串元素,代碼如下:
public static void main(String[] args) { // 創(chuàng)建了一個ArrayList集合,集合的名稱是list,里面裝的全都是String字符串類型的數(shù)據(jù) // 備注:從JDK 1.7+開始,右側(cè)的尖括號內(nèi)部可以不寫內(nèi)容,但是<>本身還是要寫的。 ArrayList<String> list = new ArrayList<>(); System.out.println(list); // [] // 向集合當(dāng)中添加一些數(shù)據(jù),需要用到add方法。 list.add("趙麗穎"); System.out.println(list); // [趙麗穎] list.add("迪麗熱巴"); list.add("古力娜扎"); list.add("瑪爾扎哈"); System.out.println(list); // [趙麗穎, 迪麗熱巴, 古力娜扎, 瑪爾扎哈] // list.add(100); // 錯誤寫法!因為創(chuàng)建的時候尖括號泛型已經(jīng)說了是字符串,添加進(jìn)去的元素就必須都是字符串才行 }
常用方法和遍歷
對于元素的操作,基本體現(xiàn)在——增、刪、查。常用的方法有: public boolean add(E e) :將指定的元素添加到此集合的尾部。 public E remove(int index) :移除此集合中指定位置上的元素。返回被刪除的元素。 public E get(int index) :返回此集合中指定位置上的元素。返回獲取的元素。 public int size() :返回此集合中的元素數(shù)。遍歷集合時,可以控制索引范圍,防止越界。 這些都是最基本的方法,操作非常簡單,代碼如下:
public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); System.out.println(list); // [] // 向集合中添加元素:add boolean success = list.add("柳巖"); System.out.println(list); // [柳巖] System.out.println("添加的動作是否成功:" + success); // true list.add("高圓圓"); list.add("趙又廷"); list.add("李小璐"); list.add("賈乃亮"); System.out.println(list); // [柳巖, 高圓圓, 趙又廷, 李小璐, 賈乃亮] // 從集合中獲取元素:get。索引值從0開始 String name = list.get(2); System.out.println("第2號索引位置:" + name); // 趙又廷 // 從集合中刪除元素:remove。索引值從0開始。 String whoRemoved = list.remove(3); System.out.println("被刪除的人是:" + whoRemoved); // 李小璐 System.out.println(list); // [柳巖, 高圓圓, 趙又廷, 賈乃亮] // 獲取集合的長度尺寸,也就是其中元素的個數(shù) int size = list.size(); System.out.println("集合的長度是:" + size); }
如何存儲基本數(shù)據(jù)類型
ArrayList對象不能存儲基本類型,只能存儲引用類型的數(shù)據(jù)。類似 不能寫,但是存儲基本數(shù)據(jù)類型對應(yīng)的 包裝類型是可以的。所以,想要存儲基本類型數(shù)據(jù), <> 中的數(shù)據(jù)類型,必須轉(zhuǎn)換后才能編寫,轉(zhuǎn)換寫法如下:
我們發(fā)現(xiàn),只有Integer 和Character 需要特殊記憶,其他基本類型只是首字母大寫即可。
到此這篇關(guān)于Java ArrayList類的基礎(chǔ)使用講解的文章就介紹到這了,更多相關(guān)Java ArrayList類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot中實現(xiàn)策略模式+工廠模式的方法
這篇文章主要介紹了Springboot中實現(xiàn)策略模式+工廠模式,具體策略模式和工廠模式的UML我就不給出來了,使用這個這兩個模式主要是防止程序中出現(xiàn)大量的IF ELSE IF ELSE....,接下來咱們直接實現(xiàn)Springboot策略模式工廠模式2022-03-03Java、C++中子類對父類函數(shù)覆蓋的可訪問性縮小的區(qū)別介紹
這篇文章主要給大家介紹了關(guān)于Java、C++中子類對父類函數(shù)覆蓋的可訪問性縮小的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01SpringBoot集成tensorflow實現(xiàn)圖片檢測功能
TensorFlow名字的由來就是張量(Tensor)在計算圖(Computational?Graph)里的流動(Flow),它的基礎(chǔ)就是前面介紹的基于計算圖的自動微分,本文將給大家介紹Spring?Boot集成tensorflow實現(xiàn)圖片檢測功能,需要的朋友可以參考下2024-06-06Spring Boot 的創(chuàng)建和運行示例代碼詳解
Spring Boot 的誕生是為了簡化Spring程序的開發(fā),今天給大家介紹下Spring Boot 的創(chuàng)建和運行,主要包括Spring Boot基本概念和springboot優(yōu)點,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-07-07Java多態(tài)中的向上轉(zhuǎn)型與向下轉(zhuǎn)型淺析
多態(tài)是指不同類的對象在調(diào)用同一個方法是所呈現(xiàn)出的多種不同行為,下面這篇文章主要給大家介紹了關(guān)于Java多態(tài)中向上轉(zhuǎn)型與向下轉(zhuǎn)型的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02Centos 7 安裝 OpenJDK 11 兩種方式及問題小結(jié)
這篇文章主要介紹了Centos 7 安裝 OpenJDK 11 兩種方式,第一種方式使用yum安裝,第二種方式使用tar解壓安裝,每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09Spring?Boot緩存實戰(zhàn)之Redis?設(shè)置有效時間和自動刷新緩存功能(時間支持在配置文件中配置)
這篇文章主要介紹了Spring?Boot緩存實戰(zhàn)?Redis?設(shè)置有效時間和自動刷新緩存,時間支持在配置文件中配置,需要的朋友可以參考下2023-05-05SpringBoot采用AJAX實現(xiàn)異步發(fā)布帖子詳解
Ajax是一種web應(yīng)用技術(shù),可以借助客戶端腳本(javascript)與服務(wù)端應(yīng)用進(jìn)行異步通訊,獲取服務(wù)端數(shù)據(jù)以后,可以進(jìn)行局部刷新,進(jìn)而提高數(shù)據(jù)的響應(yīng)和渲染速度。所有的Ajax請求都會基于DOM(HTML元素)事件,通過XHR(XMLHttpRequest)對象實現(xiàn)與服務(wù)端異步通訊局部更新2022-08-08Selenium+Tesseract-OCR智能識別驗證碼爬取網(wǎng)頁數(shù)據(jù)的實例
本文主要介紹了Selenium+Tesseract-OCR智能識別驗證碼爬取網(wǎng)頁數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09