Java入門基礎學習筆記47——ArrayList

什么是集合呢?

集合是一種容器,用來裝數據的,類似數組。

有數組,為什么還要學習集合呢?

數組定義完成并啟動后,長度就固定了。

而集合是大小可變,開發中用的最多的。

集合的特點:大小可變,類型可以不固定,功能更加強大,適合做元素個數不能確定,同時存在增刪改查的操作場景。

集合的種類非常多:

ArrayList該如何學呢?

1、會提供創建容器對象的方式;

2、會提供相應的方法對容器進行操作;

就是增刪改查:

添加數據

刪除某個數據

修改某個數據

獲取某個數據

那么,1、創建對象; 2、增刪改查的方法; 3、容器的其他特點

編程的時候使用第一個無參數構造器。

泛型:集合都是支持泛型的,約束集合在編譯階段只能操作某種數據類型。

注意:集合和泛型都不支持基本數據類型,只能支持引用數據類型。

注意:以后定義集合都應該支持泛型。

我的集合就是要什么都存:推薦這么寫:

ArrayList<Object> list = new ArrayList();

ArrayList<E>

是用的最多的、最常見的一種集合。

代碼:

package cn.ensource.arraylist;import java.util.ArrayList;/*** 目標:要求同學們掌握如何創建ArrayList集合的對象,并熟悉ArrayList提供的常用方法*/public class ArrayListDemo1 {public static void main(String[] args) {// 1. 創建ArrayList集合對象ArrayList list =  new ArrayList();list.add("黑馬");list.add(1);list.add(99.5);list.add("黑馬");list.add("Java");System.out.println(list);}
}

運行結果:

打印容器的地址,而是直接去打印容器里的內容。

讓集合約束存儲的類型,只能存儲某種類型的數據,這就是泛型:

package cn.ensource.arraylist;import java.util.ArrayList;/*** 目標:要求同學們掌握如何創建ArrayList集合的對象,并熟悉ArrayList提供的常用方法*/public class ArrayListDemo1 {public static void main(String[] args) {// 1. 創建ArrayList集合對象
//        ArrayList<String> list =  new ArrayList<String>();// 從jdk1.7開始支持的寫法:ArrayList<String> list = new ArrayList<>();list.add("黑馬");
//        list.add(1);
//        list.add(99.5);list.add("黑馬");list.add("Java");System.out.println(list);}
}

ArrayList的常用方法示例:

package cn.ensource.arraylist;import java.util.ArrayList;/*** 目標:要求同學們掌握如何創建ArrayList集合的對象,并熟悉ArrayList提供的常用方法*/public class ArrayListDemo1 {public static void main(String[] args) {// 1. 創建ArrayList集合對象
//        ArrayList<String> list =  new ArrayList<String>();// 從jdk1.7開始支持的寫法:ArrayList<String> list = new ArrayList<>();list.add("黑馬");
//        list.add(1);
//        list.add(99.5);list.add("黑馬");list.add("Java");System.out.println(list);// 2. 往集合中的某個索引位置處添加一個數據list.add(1, "MySQL");System.out.println(list);// 3. 獲取某個索引位置的元素值String rs = list.get(1);System.out.println(rs);// 4. 返回集合的元素個數System.out.println(list.size());// 5. 刪除指定索引處的元素,返回被刪除的元素String rs2 = list.remove(1);System.out.println(rs2);System.out.println(list);// 6. 刪除指定的元素,返回刪除是否成功Boolean rs3 = list.remove("Java");System.out.println(rs3);System.out.println(list);// 添加一個數據list.add(1, "HTML");System.out.println(list);// 7. 如果刪除黑馬,則刪除第一次出現的黑馬被刪除System.out.println(list.remove("黑馬"));   // true 刪除成功System.out.println(list);     // 第二個黑馬沒有被刪除// 8. set方法,把某個索引的值進行替換list.set(0, "CentOS");     // 將HTML替換成CentOSString rs5 = list.set(1, "黑馬程序員");System.out.println(rs5);      // 打印被修改的元素System.out.println(list);}
}

再次說明:

==:

比較基本數據類型:比較具體的值。

比較引用數據類型:比較的是對象地址值。

equals:比較對象內容

equalsIgnoreCase: 比較內容忽略大小寫

另外:

注意:集合容器中存儲的是每個對象的什么東西?在堆內存中的地址。

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

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

相關文章

匯聚榮科技有限公司優點有哪些?

在當今快速發展的科技時代&#xff0c;企業之間的競爭愈發激烈。作為一家專注于科技創新與研發的公司&#xff0c;匯聚榮科技有限公司憑借其卓越的技術實力和創新能力&#xff0c;在業界樹立了良好的口碑。那么&#xff0c;匯聚榮科技有限公司究竟有哪些優點呢?接下來&#xf…

C++利用TinyXML讀取XML文件

TinyXML是什么&#xff1f; TinyXML是一個輕量級的C XML解析器&#xff0c;它提供了一種簡單的方法來解析和操作XML文檔。TinyXML被設計為易于使用和集成到C項目中&#xff0c;并且非常適合處理小型XML文件。 以下是TinyXML的一些主要特點和優點&#xff1a; 輕量級: T…

OSPF問題

.ospf 選路 域內 --- 1類&#xff0c;2類LSA 域間 --- 3類LSA 域外 --- 5類&#xff0c;7類LSA --- 根據開銷值的計算規則不同&#xff0c;還分為類型1和類型2 ospf 防環機制 區域內防環&#xff1a;在同一OSPF區域內&#xff0c;所有路由器通過交換鏈路狀態通告&#xff…

VUE面試題(3)--vue常見面試題

1.vue優點 低耦合。視圖(View)可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。 可重用性。你可以把一些視圖邏輯放在一個ViewModel里面,讓很多view重用這段視圖邏輯。 …

226.翻轉二叉樹

翻轉一棵二叉樹。 思路&#xff1a; 指針做交換 用遞歸&#xff08;前序or后序&#xff0c;中序不行&#xff09; 前序&#xff1a;中左右 遍歷到“中”的時候&#xff0c;交換它的左右孩子 然后分別對它的左孩子和右孩子使用“交換函數”&#xff08;定義的&#xff09;&a…

【網絡版本計算器的實現】

本章重點 理解應用層的作用, 初識HTTP協議理解傳輸層的作用, 深入理解TCP的各項特性和機制對整個TCP/IP協議有系統的理解對TCP/IP協議體系下的其他重要協議和技術有一定的了解學會使用一些分析網絡問題的工具和方法 ?注意!! 注意!! 注意!! 本課是網絡編程的理論基礎.是一個服務…

零基礎學Java第二十二天之迭代器 Iterator

迭代器 Iterator 的理解和相關集合 使用 1、理解 迭代器&#xff08;Iterator&#xff09;是設計模式中的一種&#xff0c;它允許程序員遍歷容器&#xff08;例如列表、集合等&#xff09;中的元素&#xff0c;而無需了解容器底層的實現細節。在編程中&#xff0c;迭代器提供了…

?第18章:JDK8-17新特性

1. 新特性概述 > 角度1&#xff1a;新的語法規則 &#xff08;多關注&#xff09;比如&#xff1a;lambda表達式、enum、annotation、自動拆箱裝箱、接口中的默認方法和靜態方法、switch表達式、record等> 角度2&#xff1a;增加、過時、刪除API比如&#xff1a;新的日期…

《子數整數》

描述 對于一個五位數a1?a2?a3?a4?a5?&#xff0c;可將其拆分為三個子數&#xff1a; sub1?a1?a2?a3? sub2?a2?a3?a4? sub3?a3?a4?a5? 例如&#xff0c;五位數20207可以拆分成 sub1?202 sub2?020(20) sub3?207 現在給定一個正整數K&#xff0c;要求你編程求…

【系統架構師】-論文-系統安全性與保密性設計

1、摘要: 2018 年初&#xff0c;我所在的公司為一票務公司開發開票業務平臺的建設。我在該項目中擔任系統架構設計師的職務&#xff0c;主要負責設計平臺系統架構和安全體系架構。該平臺以采用 B/S 架構服務用戶&#xff0c;采用”平臺應用”的模式解決現有應用單機獨立開票的模…

【YOLOv5/v7改進系列】替換激活函數為SiLU、ReLU、LeakyReLU、FReLU、PReLU、Hardswish、Mish、ELU等

一、導言 激活函數在目標檢測中的作用至關重要&#xff0c;它們主要服務于以下幾個關鍵目的&#xff1a; 引入非線性&#xff1a;神經網絡的基本構建塊&#xff08;如卷積層、全連接層等&#xff09;本質上是線性變換&#xff0c;而激活函數通過引入非線性&#xff0c;使得網絡…

urllib3 發起https請求時報錯 certificate verify failed

情況描述 近期需要訪問https的一個API接口同步數據&#xff0c;在辦公主機完成urllib3初步的測試以后&#xff0c;到測試環境驗證發現無法請求&#xff0c;報錯&#xff1a; 提示&#xff1a;解決辦法可以直接到第四節查看 一、提示 SSL 認證失敗 OpenSSL.SSL.Error: [(SSL …

保安維穩,四信以科技構筑高速公路安全智慧防線

近日&#xff0c;廣東梅大高速發生嚴重塌方事故&#xff0c;造成了嚴重的人員傷亡和財產損失。這一事件在公眾心中敲響了安全的警鐘&#xff0c;再次引起了公眾對于交通設施運營安全性的重點關注。 國務院安委會辦公室和國家防災減災救災委員會辦公室等主管機構先后印發緊急通知…

Spring Security整合Gitee第三方登錄

文章目錄 學習鏈接環境準備1. 搭建基本web應用引入依賴ThirdApp啟動類創建index頁面application.yml配置訪問測試 2. 引入security引入依賴ProjectConfig訪問測試 第三方認證簡介注冊gitee客戶端實現1引入依賴application.yml配置文件創建index.html頁面啟動類InfoControllerPr…

【數學建模】儲藥柜的設計

2014高教社杯全國大學生數學建模競賽D題目 題目描述 儲藥柜的結構類似于書櫥&#xff0c;通常由若干個橫向隔板和豎向隔板將儲藥柜分割成若干個儲藥槽(如圖1所示)。為保證藥品分揀的準確率&#xff0c;防止發藥錯誤&#xff0c;一個儲藥槽內只能擺放同一種藥品。藥品在儲藥槽…

Python閉包探索,釋放函數記憶的秘術

引言 hello&#xff0c;大家好&#xff0c;我是一點&#xff0c;專注于Python編程&#xff0c;如果你也對感Python感興趣&#xff0c;歡迎關注交流。 希望可以持續更新一些有意思的文章&#xff0c;如果覺得還不錯&#xff0c;歡迎點贊關注&#xff0c;有啥想說的&#xff0c;可…

docker搭建gitlab及默認密碼修改及配置修改

推薦官方文檔 https://docs.gitlab.com/17.0/ee/install/docker.html 我使用的是docker run的方式&#xff0c;官方文檔后面有docker-compose、swarm、k8s的部署文檔 版本說明 1&#xff1a;可以部署gitlab-ce社區版和gitlab-ee企業版&#xff0c;然后&#xff0c;鑒于是個人…

Mysql總結2

Mysql慢優化 在mysql中&#xff0c;long_query_time的值為10&#xff0c;當sql語句執行的時間超過這個數值時&#xff0c;則會被記錄到慢查詢日志中。 Mysql語句查詢流程 1、客戶端發送sql語句到服務端&#xff1b; 2、服務端查看是否打開了緩存&#xff0c;若緩存打開&…

AIGC繪畫設計基礎-建筑設計應用

一、AI及AIGC 對于AI大家都不陌生&#xff0c;但是AIGC這個概念好多人其實不大清楚。“AI”是指人工智能技術本身&#xff0c;而“AIGC”是指基于人工智能技術而生成的內容。 生成式人工智能——AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;&…

近鄰算法詳解

近鄰算法&#xff08;Nearest Neighbor Algorithm&#xff09;&#xff0c;也稱為K-近鄰算法&#xff08;K-Nearest Neighbors&#xff0c;KNN&#xff09;&#xff0c;是一種基本的分類和回歸方法。它的工作原理非常直觀&#xff1a;通過測量不同特征點之間的距離來進行預測。…