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