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

Java集合List的使用詳細(xì)解析

 更新時(shí)間:2023年11月29日 10:20:57   作者:時(shí)代&信念  
這篇文章主要介紹了Java集合List的使用詳細(xì)解析,List集合類中元素有序、且可重復(fù),集合中的每個(gè)元素都有其對(duì)應(yīng)的順序索引,鑒于Java中數(shù)組用來存儲(chǔ)數(shù)據(jù)的局限性,我們通常使用java.util.List替代數(shù)組,需要的朋友可以參考下

List簡(jiǎn)單介紹

  • 鑒于Java中數(shù)組用來存儲(chǔ)數(shù)據(jù)的局限性,我們通常使用java.util.List替代數(shù)組
  • List集合類中元素有序、且可重復(fù),集合中的每個(gè)元素都有其對(duì)應(yīng)的順序索引。
  • JDK API中List接口的實(shí)現(xiàn)類常用的有:ArrayList、LinkedList和Vector。

List接口方法

List除了從Collection集合繼承的方法外,List 集合里添加了一些根據(jù)索引來操作集合元素的方法。

  • 插入元素
    • void add(int index, Object ele):在index位置插入ele元素
    • boolean addAll(int index, Collection eles):從index位置開始將eles中的所有元素添加進(jìn)來
  • 獲取元素
    • Object get(int index):獲取指定index位置的元素
    • List subList(int fromIndex, int toIndex):返回從fromIndex到toIndex位置的子集合
  • 獲取元素索引
    • int indexOf(Object obj):返回obj在集合中首次出現(xiàn)的位置
    • int lastIndexOf(Object obj):返回obj在當(dāng)前集合中末次出現(xiàn)的位置
  • 刪除和替換元素
    • Object remove(int index):移除指定index位置的元素,并返回此元素
    • Object set(int index, Object ele):設(shè)置指定index位置的元素為ele

List接口主要實(shí)現(xiàn)類:ArrayList

  • ArrayList 是 List 接口的主要實(shí)現(xiàn)類
  • 本質(zhì)上,ArrayList是對(duì)象引用的一個(gè)”變長(zhǎng)”數(shù)組
  • Arrays.asList(…) 方法返回的 List 集合,既不是 ArrayList 實(shí)例,也不是 Vector 實(shí)例。 Arrays.asList(…) 返回值是一個(gè)固定長(zhǎng)度的 List 集合

ArrayList底層是Object數(shù)組

特定:查找和添加效率高;刪除和插入的效率低。

List的實(shí)現(xiàn)類之二:LinkedList

對(duì)于頻繁的插入或刪除元素的操作,建議使用LinkedList類,效率較高。

這是由底層采用鏈表(雙向鏈表)結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)決定的。

特有方法:

  • void addFirst(Object obj)
  • void addLast(Object obj)
  • Object getFirst()
  • Object getLast()
  • Object removeFirst()
  • Object removeLast()

List的實(shí)現(xiàn)類之三:Vector

  • Vector 是一個(gè)古老的集合,JDK1.0就有了。大多數(shù)操作與ArrayList相同,區(qū)別之處在于Vector是線程安全的。
  • 在各種List中,最好把ArrayList作為默認(rèn)選擇。當(dāng)插入、刪除頻繁時(shí),使用LinkedList;Vector總是比ArrayList慢,所以盡量避免使用。

特有方法:

  • void addElement(Object obj)
  • void insertElementAt(Object obj,int index)
  • void setElementAt(Object obj,int index)
  • void removeElement(Object obj)
  • void removeAllElements()

面試題

以下代碼輸出結(jié)果為?

@Test
public void testListRemove() {
    List list = new ArrayList();
    list.add(1);
    list.add(2);
    list.add(3);
    updateList(list);
    System.out.println(list);
}

private static void updateList(List list) {
	//這里的參數(shù)2, 默認(rèn)指的是索引,因?yàn)槿绻侵档脑?,還得進(jìn)行裝箱
	//裝箱有消耗
    list.remove(2);  
}

在這里插入圖片描述

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

相關(guān)文章

  • IDEA中配置操作Git的詳細(xì)圖文教程

    IDEA中配置操作Git的詳細(xì)圖文教程

    這篇文章給大家詳細(xì)介紹在IDEA中配置Git,IDEA中操作Git的詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-10-10
  • springboot項(xiàng)目配置logback-spring.xml實(shí)現(xiàn)按日期歸檔日志的方法

    springboot項(xiàng)目配置logback-spring.xml實(shí)現(xiàn)按日期歸檔日志的方法

    本文主要介紹了springboot項(xiàng)目配置logback-spring.xml實(shí)現(xiàn)按日期歸檔日志的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • ant使用指南詳細(xì)入門教程

    ant使用指南詳細(xì)入門教程

    這篇文章主要介紹了ant使用指南詳細(xì)入門教程,本文詳細(xì)的講解了安裝、驗(yàn)證安裝、使用方法、使用實(shí)例、ant命令等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • JDK的命令詳解

    JDK的命令詳解

    JDK的命令詳解...
    2006-12-12
  • SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼

    SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼

    Feign是一個(gè)開源的Java HTTP客戶端,可以幫助我們?cè)赟pringBoot應(yīng)用中快速構(gòu)建和使用HTTP客戶端,方便實(shí)現(xiàn)服務(wù)間的通信,本文就來介紹一下SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼,感興趣的可以了解一下
    2024-01-01
  • Java?離線中文語(yǔ)音文字識(shí)別功能的實(shí)現(xiàn)代碼

    Java?離線中文語(yǔ)音文字識(shí)別功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java?離線中文語(yǔ)音文字識(shí)別,本次使用springboot?+maven實(shí)現(xiàn),官方demo為springboot+gradle,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 微服務(wù)通過Feign調(diào)用進(jìn)行密碼安全認(rèn)證操作

    微服務(wù)通過Feign調(diào)用進(jìn)行密碼安全認(rèn)證操作

    這篇文章主要介紹了微服務(wù)通過Feign調(diào)用進(jìn)行密碼安全認(rèn)證操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring中@Scheduled注解的參數(shù)詳解

    Spring中@Scheduled注解的參數(shù)詳解

    這篇文章主要介紹了Spring中@Scheduled注解的參數(shù)詳解,@Scheduled注解的使用這里不詳細(xì)說明,@Scheduled注解有幾個(gè)參數(shù)需要說明一下,直接對(duì)8個(gè)參數(shù)進(jìn)行講解,需要的朋友可以參考下
    2023-11-11
  • 詳解JAVA 抽象類

    詳解JAVA 抽象類

    這篇文章主要介紹了JAVA 抽象類的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Maven插件構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟

    Maven插件構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Maven插件構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論