Java :List,LinkedList,ArrayList

文章目錄

  • List常用方法
  • List集合的遍歷方式
  • ArrayList底層的原理
  • LinkedList底層原理
    • 常用方法

List常用方法

在這里插入圖片描述

//1.創建一個ArrayList集合對象(有序、有索引、可以重復)
List<String> list = new ArrayList<>();
list.add("蜘蛛精");
list.add("至尊寶");
list.add("至尊寶");
list.add("牛夫人"); 
System.out.println(list); //[蜘蛛精, 至尊寶, 至尊寶, 牛夫人]//2.public void add(int index, E element): 在某個索引位置插入元素
list.add(2, "紫霞仙子");
System.out.println(list); //[蜘蛛精, 至尊寶, 紫霞仙子, 至尊寶, 牛夫人]//3.public E remove(int index): 根據索引刪除元素, 返回被刪除的元素
System.out.println(list.remove(2)); //紫霞仙子
System.out.println(list);//[蜘蛛精, 至尊寶, 至尊寶, 牛夫人]//4.public E get(int index): 返回集合中指定位置的元素
System.out.println(list.get(3));//5.public E set(int index, E e): 修改索引位置處的元素,修改后,會返回原數據
System.out.println(list.set(3,"牛魔王")); //牛夫人
System.out.println(list); //[蜘蛛精, 至尊寶, 至尊寶, 牛魔王]

List集合的遍歷方式

有四種,多了一種可以用索引遍歷的方式
普通for循環,迭代器,增強for,forEach

public class Test_List_for {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("張三");list.add("李四");list.add("王五");//1. 普通for循環for (int i = 0; i < list.size(); i++) {System.out.println(i);// 索引System.out.println(list.get(i));}//2. 增強forfor(String s : list){System.out.println(s);}//3. 迭代器遍歷Iterator<String> it = list.iterator();while(it.hasNext()){System.out.println(it.next());}//4. forEachlist.forEach(s -> System.out.println(s));}
}

ArrayList底層的原理

ArrayList集合底層是基于數組結構實現的,也就是說當往集合容器中存儲元素時,底層本質上是往數組里存數據
在這里插入圖片描述

  1. 數組長度不可變,但集合長度可變
    數組不可以擴容,底層是創建一個新的數組,把原數組的所有元素都復制到新數組去

LinkedList底層原理

LinkedList底層是鏈表結構,雙向鏈表。可以用來設計棧結構,隊列結構
在這里插入圖片描述

常用方法

在這里插入圖片描述

public static void main(String[] args) {// LinkedList模擬隊列:先進先出LinkedList<String> queue = new LinkedList<>();// 入隊queue.addLast("1人");queue.addLast("2人");queue.addLast("3人");queue.addLast("4人");System.out.println(queue);// 出隊System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println("`````````````````");// LinkedList模擬棧:后進先出LinkedList<String> stack = new LinkedList<>();// 入棧  push = addFirststack.addFirst("1ren");stack.addFirst("2ren");stack.push("3ren");stack.push("4ren");System.out.println(stack);// 出棧  pop  = removeFirstSystem.out.println(stack.pop());System.out.println(stack.pop());System.out.println(stack.removeFirst());System.out.println(stack.removeFirst());System.out.println(stack);}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89292.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89292.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LLM面試題及講解 4

LLM面試題及講解 4 目錄 LLM面試題及講解 4 題目講解 一、基礎概念與理論 二、模型訓練與優化 三、應用與實踐 四、前沿研究與趨勢 大型語言模型(LLM)的核心特征是什么? LLM與傳統NLP技術的本質區別是什么? Transformer架構的基本組成部分有哪些?其在LLM中為何重要? BERT…

Harmony-Next鴻蒙實戰開發項目-仿小米商城App----V2

1.、簡介 本項目是Harmony-Next原生開發&#xff0c;真實網絡請求。采用V2等狀態管理裝飾器。包含&#xff08;首頁、分類、發現、購物車、我的、登錄、搜索&#xff0c;搜索結果&#xff0c;商品詳情等&#xff09;.包含V2對接口返回數據的深度監聽。 2、頁面展示&#xff1…

python閉包和裝飾器(超詳解)

目錄 一、閉包的概念 1.概念 2.閉包的特征 3.閉包的作用 二、裝飾器 1.什么是裝飾器 2.裝飾器的作用 1.統計代碼耗時 2.對代碼進行權限檢查 3.記錄日志 3.閉包和裝飾器的關系 4.注意事項&#xff1a; 一、閉包的概念 1.概念 閉包&#xff08;Closure&#xff09;指…

解決hadoop常用到的問題

1.namenode無法啟動問題 報錯1. ERROR: Attempting to operate on hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. 原因&#xff1a;不能用 root 用戶直接啟動 Hadoop 的 HDFS 組件&#xff08;NameNode / DataNode / SecondaryNameNode&#xff0…

深度學習G3周:CGAN入門(生成手勢圖像)

&#x1f368; 本文為&#x1f517;365天深度學習訓練營中的學習記錄博客&#x1f356; 原作者&#xff1a;K同學啊 基礎任務&#xff1a; 1.條件生成對抗網絡&#xff08;CGAN&#xff09;的基本原理 2.CGAN是如何實現條件控制的 3.學習本文CGAN代碼&#xff0c;并跑通代碼…

流式數據處理實戰:用狀態機 + scan 優雅過濾 AI 響應中的 `<think>` 標簽

流式數據處理實戰&#xff1a;用狀態機 scan 優雅過濾 AI 響應中的 <think> 標簽 1. 引言&#xff1a;流式數據處理的挑戰 在現代 AI 應用開發中&#xff0c;流式 API&#xff08;如 OpenAI、Claude 等&#xff09;能實時返回分塊數據&#xff0c;提升用戶體驗。但流式…

【實時Linux實戰系列】硬件中斷與實時性

在實時系統中&#xff0c;硬件中斷是系統響應外部事件的關鍵機制之一。硬件中斷允許系統在執行任務時被外部事件打斷&#xff0c;從而快速響應這些事件。然而&#xff0c;中斷處理不當可能會導致系統延遲增加&#xff0c;影響系統的實時性。因此&#xff0c;優化中斷處理對于提…

基于DTLC-AEC與DTLN的輕量級實時語音降噪系統設計與實現

基于DTLC-AEC與DTLN的輕量級實時語音降噪系統設計與實現 1. 引言 在當今的實時通信應用中,語音質量是影響用戶體驗的關鍵因素之一。環境噪聲和回聲會嚴重降低語音清晰度,特別是在移動設備和嵌入式系統上。本文將詳細介紹如何將兩種先進的開源模型——DTLC-AEC(深度學習回聲…

基于Hadoop與LightFM的美妝推薦系統設計與實現

文章目錄有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主項目介紹總結每文一語有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主 項目介紹 本項目旨在基于大數據Hadoop平臺和機器學習技術&#xff0c;構建一套面向美妝…

notepad++ 多行復制拼接

如何將中文一 一復制到英文后面按住 ALT ,鼠標左鍵拖動多行選中中文Ctrl C 復制 在英文的第一行結尾處 Ctrl v 粘貼

【前沿技術動態】【AI總結】Spring Boot 4.0 預覽版深度解析:云原生時代的新里程碑

Spring Boot 4.0 預覽版深度解析&#xff1a;云原生時代的新里程碑 最低 Java 17&#xff0c;原生支持虛擬線程&#xff0c;性能提升最高800%&#xff0c;Spring Boot 4.0 帶來開發體驗與運行時性能的全面飛躍 Spring Boot 4.0 的預覽版在2025年5月底悄然上線&#xff0c;標志著…

OkHttp 框架封裝一個 HTTP 客戶端,用于調用外部服務接口

? 背景與需求 需要基于 OkHttp 框架封裝一個 HTTP 客戶端&#xff0c;用于調用外部服務接口&#xff08;如拼團回調&#xff09;&#xff0c;實現以下功能&#xff1a; 動態傳入請求地址&#xff08;URL&#xff09;支持 JSON 請求體實現類放在 infrastructure 層的 gateway…

使用Collections.max比較Map<String, Integer>中的最大值

文章目錄使用Collections.max比較Map<String, Integer>中的最大值基本方法1. 比較Map的值2. 比較Map的鍵自定義比較器1. 按值降序排列2. 復雜比較邏輯完整示例代碼性能考慮替代方案1. 使用Stream API (Java 8)2. 手動遍歷實際應用場景注意事項總結使用Collections.max比較…

鴻蒙狀態欄操作

1.鴻蒙設備基礎信息 1.1圖解 1.1窗口內容規避區域 AvoidArea7 窗口內容規避區域。 窗口內容規避區域。如系統欄區域、劉海屏區域、手勢區域、軟鍵盤區域等與窗口內容重疊時&#xff0c;需要窗口內容避讓的區域。在規避區無法響應用戶點擊事件。 除此之外還需注意規避區域的如…

Product Hunt 每日熱榜 | 2025-07-17

1. Brain MAX by ClickUp 標語&#xff1a;一款AI應用統治一切&#xff1a;你的知識 語音轉文字 介紹&#xff1a;Brain MAX 是 ClickUp 完全原生的桌面應用&#xff0c;旨在提升生產力&#xff0c;幫助你擺脫 AI 的雜亂無章。只需每月 9 美元&#xff0c;就可以使用所有的 …

如何使用VScode使用ssh連接遠程服務器不需要輸入密碼直接登錄

ssh-keygen 之后一直默認 回車 確認即可結果 (base) amaxamax:/data/std$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/amax/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again:…

vue實現el-table-column中自定義label

vue實現el-table-column中自定義label<el-table-columnlabel"操作"align"left"width"50"><template #header><div><el-buttonsize"mini"type"primary"icon"el-icon-plus"circle></el-…

Vue 常用的 ESLint 規則集

對Vue項目來說&#xff0c;Vue 官方通過 eslint-plugin-vue 提供了多個規則集&#xff08;Rule Sets&#xff09;&#xff0c;適用于不同嚴格度和 Vue 版本。以下是主要的規則集及其對應的 ESLint 插件和用途&#xff1a; 1. Vue 2.x 規則集 適用于 Vue 2 項目&#xff0c;規則…

AbMole小課堂 | Angiotensin II(血管緊張素Ⅱ)在心血管研究中的多元應用

Angiotensin II&#xff08;血管緊張素Ⅱ&#xff0c;AbMole&#xff0c;M6240&#xff09;是一種血管收縮劑&#xff0c;也是腎素-血管緊張素系統 (RAS) 的主要效應肽。Angiotensin II參與動物的血壓調節、水電解質平衡等經典生理過程在科研中Angiotensin II被廣泛用于動物心血…

【Unity】Mono相關理論知識學習

一種編譯技術。優點&#xff1a;支持JIT編譯&#xff1a;在運行時將IL編譯成機器碼。首次執行稍慢&#xff0c;好處在于運行更快&#xff0c;迭代更高效。構建速度快&#xff1a;無需將IL轉成C&#xff0c;構建過程省去了IL2CPP的轉換和原生編譯步驟&#xff0c;適合開發階段快…