最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中ArrayList類(lèi)用法詳解

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

 基本定義

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

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

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

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

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

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

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

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

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

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

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

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

下面來(lái)舉個(gè)例子來(lái)解釋一下ArrayList的方法使用吧:

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

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

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

但對(duì)于ArrayList來(lái)說(shuō),你只需要?jiǎng)?chuàng)建出此類(lèi)型的對(duì)象就行。它不需要指定大小,因?yàn)樗麜?huì)在加入或刪除元素時(shí)自動(dòng)調(diào)整大小。

new String[2] //指定大小

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

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

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

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

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

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

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

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

但ArrayList是個(gè)普通對(duì)象,所以不會(huì)有特殊的語(yǔ)法。

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

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

雖然我們說(shuō)ArrayList不想一般數(shù)組有特殊的語(yǔ)法,但是它們?cè)贘ava5.0中有比較特殊的東西-參數(shù)化類(lèi)型。

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

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

總結(jié) 

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

相關(guān)文章

  • Java安全-ClassLoader

    Java安全-ClassLoader

    這篇文章主要介紹了Java安全ClassLoader,Java類(lèi)初始化的時(shí)候會(huì)調(diào)用java.lang.ClassLoader加載字節(jié)碼,ClassLoader就是用來(lái)動(dòng)態(tài)加載class文件到內(nèi)存當(dāng)中用的,下面詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • IDEA啟動(dòng)報(bào)錯(cuò)Internal?error.?Please?refer?to?https://jb.gg/ide/critical-startup-errors解決辦法

    IDEA啟動(dòng)報(bào)錯(cuò)Internal?error.?Please?refer?to?https://jb.gg/i

    這篇文章主要介紹了IDEA啟動(dòng)報(bào)錯(cuò)Internal?error.?Please?refer?to?https://jb.gg/ide/critical-startup-errors解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • 一分鐘掌握J(rèn)ava?ElasticJob分布式定時(shí)任務(wù)

    一分鐘掌握J(rèn)ava?ElasticJob分布式定時(shí)任務(wù)

    ElasticJob?是面向互聯(lián)網(wǎng)生態(tài)和海量任務(wù)的分布式調(diào)度解決方案,本文主要通過(guò)簡(jiǎn)單的示例帶大家深入了解ElasticJob分布式定時(shí)任務(wù)的相關(guān)知識(shí),需要的可以參考一下
    2023-05-05
  • Maven?Pom?文件中的隱式依賴(lài)導(dǎo)致Jar沖突問(wèn)題

    Maven?Pom?文件中的隱式依賴(lài)導(dǎo)致Jar沖突問(wèn)題

    這篇文章主要介紹了Maven?Pom?文件中的隱式依賴(lài)導(dǎo)致Jar沖突問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring的Bean生命周期之BeanDefinition詳解

    Spring的Bean生命周期之BeanDefinition詳解

    這篇文章主要介紹了Spring的Bean生命周期之BeanDefinition詳解,在spring bean創(chuàng)建過(guò)程 依賴(lài) BeanDefinition 中的信息處理bean的生產(chǎn),BeanDefinition 是 Spring Framework 中定義 Bean 的配置元信息接口,需要的朋友可以參考下
    2023-12-12
  • Java表單重復(fù)提交的避免方法

    Java表單重復(fù)提交的避免方法

    如何避免表單重復(fù)提交,這篇文章就為大家詳細(xì)介紹了Java表單重復(fù)提交的避免方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • maven使用systemPath方式加載本地jar的實(shí)現(xiàn)

    maven使用systemPath方式加載本地jar的實(shí)現(xiàn)

    本文介紹Maven通過(guò)systemPath加載本地第三方JAR的方法,需配置依賴(lài)和插件以確保打包和運(yùn)行,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-06-06
  • Java生成二維碼的實(shí)例代碼

    Java生成二維碼的實(shí)例代碼

    這篇文章主要介紹了Java生成二維碼的實(shí)例代碼,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-09-09
  • java信號(hào)量控制線程打印順序的示例分享

    java信號(hào)量控制線程打印順序的示例分享

    這篇文章主要介紹了java信號(hào)量控制線程打印順序的示例,如ABCABC這樣輸出線程,大家參考使用吧
    2014-01-01
  • Springboot實(shí)現(xiàn)XSS漏洞過(guò)濾的示例代碼

    Springboot實(shí)現(xiàn)XSS漏洞過(guò)濾的示例代碼

    這篇文章主要介紹了Springboot實(shí)現(xiàn)XSS漏洞過(guò)濾的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論

富裕县| 洱源县| 公主岭市| 澄迈县| 胶南市| 三原县| 奉新县| 郴州市| 西畴县| 塔河县| 道孚县| 乐山市| 黄石市| 文山县| 兴安县| 灵台县| 商洛市| 富川| 青海省| 都安| 西华县| 元氏县| 镇原县| 凤山县| 铜山县| 新竹市| 新蔡县| 合作市| 阜平县| 河曲县| 云梦县| 龙陵县| 威远县| 龙陵县| 安顺市| 永川市| 华坪县| 永福县| 会理县| 宾川县| 宣汉县|