欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中ArrayList類用法詳解

 更新時間:2023年09月25日 16:45:24   作者:灰灰快醒醒  
這篇文章主要給大家介紹了關(guān)于Java中ArrayList類用法的相關(guān)資料,ArrayList是Java中的一種常見的數(shù)據(jù)結(jié)構(gòu),它實(shí)現(xiàn)了List接口,是線程不安全的動態(tài)數(shù)組,需要的朋友可以參考下

 基本定義

ArrayList 是 Java 中的一個動態(tài)數(shù)組數(shù)據(jù)結(jié)構(gòu),屬于 Java 集合框架的一部分(java.util 包中的類)。它提供了一個基于數(shù)組的可變長度列表,允許你在運(yùn)行時添加、刪除和訪問元素,而不需要提前指定數(shù)組的大小。

簡而言之:它是Java函數(shù)庫中數(shù)百個類中的一個,可以將它直接當(dāng)作自己的類使用

ArrayList類的基礎(chǔ)(部分)方法

add(Object elem):向list中加入對象參數(shù),在 ArrayList 的末尾添加新元素

add(int index, Object elem):在index對應(yīng)的下標(biāo)中添加elem對象

remove(int index):移除對應(yīng)索引的對象

remove(Object elem):移除該對象,默認(rèn)只是移除第一個匹配的對象

contains(Object elem):檢查是否包含該對象:有的話返回"true",否則返回"false"

isEmpty():如果list中沒有元素則返回"true"

indexOf(Object elem):如果存在該對象,則返回對應(yīng)下標(biāo),如果不存在,則返回-1

size():返回ArrayList當(dāng)前的大小

get(int index):返回當(dāng)前索引參數(shù)的對象

下面來舉個例子來解釋一下ArrayList的方法使用吧:

import java.util.ArrayList;
class Egg {
}
public class testArrayList {
    public static void main(String[] args) {
        //1.創(chuàng)建:<括號>代表創(chuàng)建出Egg類型的basket
        //新的ArrayList對象會創(chuàng)建在堆上
        ArrayList<Egg> basket = new ArrayList<Egg>();
        //2.加入元素
        //此ArrayList會產(chǎn)生一個"筐子"來放Egg對象
        Egg s = new Egg();
        basket.add(s);
        //3.再加入元素
        //此ArrayList會再次整一個筐子來存放Egg對象
        Egg b = new Egg();
        basket.add(b);
        //4.查詢大小
        //因?yàn)閎asket含有兩個元素,size()會返回2
        int theSize = basket.size();
        //5.查詢特定元素
        //因?yàn)閎asket帶有s所引用的Egg對象,所以此方法會返回true
        boolean isIn = basket.contains(s);
        //6.查詢特定元素的位置
        //b是創(chuàng)建的第二個對象,因此返回1
        int idx = basket.indexOf(b);
        //7.判斷集合是否為空
        //因?yàn)椴皇强盏?,所以返回false
        boolean empty = basket.isEmpty();
        //8.刪除元素
        basket.remove(s);
    }
}

比較ArrayList與一般數(shù)組

一般數(shù)組在創(chuàng)建時必須指定大小

但對于ArrayList來說,你只需要創(chuàng)建出此類型的對象就行。它不需要指定大小,因?yàn)樗麜诩尤牖騽h除元素時自動調(diào)整大小。

new String[2] //指定大小

new ArrayList<String>() //不需要指定大小

存放對象給一般數(shù)組時必須指定位置

(必須要指定介于0到比length小1之間的數(shù)字)

myList[1] = b;//指定索引值

如果索引值超出了數(shù)組的限制(例如聲明大小為2的數(shù)組,然后指派索引值3),程序會在執(zhí)行期出現(xiàn)錯誤。

使用ArrayList時,你可以用add(Int, Object)這個形式來指定索引值,或者使用add(Object)的形式來給它自行管理大小。

myList.add(b);//不需指定索引值

一般數(shù)組使用特殊的語法

但ArrayList是個普通對象,所以不會有特殊的語法。

myList[1]//[方括號]是指用在數(shù)組上的特殊語法

在Java5.0中的ArrayList是參數(shù)化的

雖然我們說ArrayList不想一般數(shù)組有特殊的語法,但是它們在Java5.0中有比較特殊的東西-參數(shù)化類型。

ArrayList<String> //<String>是類型參數(shù)。這代表String的集合,就像說ArraysList<Egg>代表Egg的集合

在Java5.0之前是無法聲明出要存放于ArrayList中元素的類型,它只會是異質(zhì)對象的集合

總結(jié) 

到此這篇關(guān)于Java中ArrayList類用法的文章就介紹到這了,更多相關(guān)Java ArrayList類詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Boot 中application.yml與bootstrap.yml的區(qū)別

    Spring Boot 中application.yml與bootstrap.yml的區(qū)別

    其實(shí)yml和properties文件是一樣的原理,且一個項(xiàng)目上要么yml或者properties,二選一的存在。這篇文章給大家介紹了Spring Boot 中application.yml與bootstrap.yml的區(qū)別,感興趣的朋友一起看看吧
    2018-04-04
  • Java利用序列化實(shí)現(xiàn)對象深度clone的方法

    Java利用序列化實(shí)現(xiàn)對象深度clone的方法

    這篇文章主要介紹了Java利用序列化實(shí)現(xiàn)對象深度clone的方法,實(shí)例分析了java序列化及對象克隆的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • java和c/c++ 數(shù)據(jù)類型長度的比較

    java和c/c++ 數(shù)據(jù)類型長度的比較

    本篇文章主要是對java和c/c++ 數(shù)據(jù)類型長度的進(jìn)行了詳細(xì)的比較。需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • Windows下后端如何啟動SpringBoot的Jar項(xiàng)目

    Windows下后端如何啟動SpringBoot的Jar項(xiàng)目

    這篇文章主要介紹了Windows下后端如何啟動SpringBoot的Jar項(xiàng)目問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • java 文件上傳到讀取文件內(nèi)容的實(shí)例

    java 文件上傳到讀取文件內(nèi)容的實(shí)例

    今天小編就為大家分享一篇java 文件上傳到讀取文件內(nèi)容的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • nacos中的配置使用@Value注解獲取不到值的原因及解決方案

    nacos中的配置使用@Value注解獲取不到值的原因及解決方案

    這篇文章主要介紹了nacos中的配置使用@Value注解獲取不到值的原因分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Java生成表格圖片的實(shí)例代碼

    Java生成表格圖片的實(shí)例代碼

    這篇文章主要介紹了Java生成表格圖片的實(shí)例代碼,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-09-09
  • JDK8中新增的Optional工具類基本使用

    JDK8中新增的Optional工具類基本使用

    Optional不是對null關(guān)鍵字的一種替代,而是對于null判定提供了一種更加優(yōu)雅的實(shí)現(xiàn),接下來通過本文給大家分享JDK8中新增的Optional工具類基本使用,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • IDEA強(qiáng)制清除Maven緩存的實(shí)現(xiàn)示例

    IDEA強(qiáng)制清除Maven緩存的實(shí)現(xiàn)示例

    清除項(xiàng)目緩存是一個常見的操作,本文主要介紹了IDEA強(qiáng)制清除Maven緩存的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • SpringBoot實(shí)現(xiàn)無感刷新Token的項(xiàng)目實(shí)踐

    SpringBoot實(shí)現(xiàn)無感刷新Token的項(xiàng)目實(shí)踐

    token刷新是前端安全中必要的一部分,本文就來介紹一下SpringBoot實(shí)現(xiàn)無感刷新Token的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03

最新評論