Java基礎-常用類ArrayList
- 2019 年 11 月 28 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/weixin_42528266/article/details/103275748
4.1 引入—對象數組
使用學生數組,存儲三個學生對象,程式碼如下:

到目前為止,我們想存儲對象數據,選擇的容器,只有對象數組。而數組的長度是固定的,無法適應數據變化的需求。為了解決這個問題,Java提供了另一個容器java.util.ArrayList 類,讓我們可以更便捷的存儲和操作對象數據
4.2 什麼是ArrayList類
java.util.ArrayList 是大小可變的數組的實現,存儲在內的數據稱為元素。此類提供一些方法來操作內部存儲的元素。 ArrayList 中可不斷添加元素,其大小也自動增長。
4.3 ArrayList使用步驟
查看類
java.util.ArrayList<E>該類需要 import導入使後使用。
<E> 表示一種指定的數據類型,叫做泛型。 E ,取自Element(元素)的首字母。在出現用一種引用數據類型將其替換即可,表示我們將存儲哪種引用類型的元素。程式碼如下:
ArrayList<String>,ArrayList<Student>
查看構造方法
public ArrayList()構造一個內容為空的集合。
基本格式:
ArrayList<String> list = new ArrayList<String>();
在JDK 7後,右側泛型的尖括弧之內可以留空,但是<>仍然要寫。簡化格式:
ArrayList<String> list = new ArrayList<>();
查看成員方法
public boolean add(E e);將指定的元素添加到此集合的尾部 在構造ArrayList對象時,指定了什麼數據類型,那麼add(E e)方法中,只能添加什麼數據類型的對象。
使用ArrayList類,存儲三個字元串元素,程式碼如下:
public class Test02StudentArrayList { public static void main(String[] args) { //創建學生數組 ArrayList<String> list = new ArrayList<>(); //創建學生對象 String s1 = "曹操"; String s2 = "劉備"; String s3 = "孫權"; //列印學生ArrayList集合System.out.println(list); //把學生對象作為元素添加到集合list.add(s1); list.add(s2); list.add(s3); //列印學生ArrayList集合 System.out.println(list); } }4.4 常用方法和遍歷
對於元素的操作,基本體現在——增、刪、查。常用的方法有:
public boolean add(E e);將指定的元素添加到此集合的尾部。public E remove(int index);移除此集合中指定位置上的元素。返回被刪除的元素。public E get(int index);返回此集合中指定位置上的元素。返回獲取的元素。public int size();返回此集合中的元素數。遍歷集合時,可以控制索引範圍,防止越界。
這些都是最基本的方法,操作非常簡單,程式碼如下:

4.5 如何存儲基本數據類型
ArrayList對象不能存儲基本類型,只能存儲引用類型的數據。類似<int>不能寫,但是存儲基本數據類型對應的 包裝類型是可以的。所以,想要存儲基本類型數據,<>中的數據類型,必須轉換後才能編寫,轉換寫法如下:

我們發現只有Integer和Character需要特殊記憶,其他基本類型只是首字母大寫即可。那麼存儲基本類型數據,程式碼如下:

4.6 ArrayList練習
數值添加到集合 生成6個1~33之間的隨機整數,添加到集合,並遍歷
public class Test01ArrayList { public static void main(String[] args) { // 創建Random 對象 Random random = new Random(); // 創建ArrayList 對象 ArrayList<Integer> list = new ArrayList<>(); // 添加隨機數到集合 for (int i = 0; i < 6; i++) { int r = random.nextInt(33) + 1; list.add(r); } // 遍歷集合輸出 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }對象添加到集合 自定義4個學生對象,添加到集合,並遍歷

列印集合方法 定義以指定格式列印集合的方法(ArrayList類型作為參數),使用{}擴起集合,使用@分隔每個元素。格式參照 {元素@元素@元素}。
public class Test03ArrayList { public static void main(String[] args) { // 創建集合對象 ArrayList<String> list = new ArrayList<String>(); // 添加字元串到集合中 list.add("張三丰"); list.add("宋遠橋"); list.add("張無忌"); list.add("殷梨亭"); // 調用方法 printArrayList(list); } public static void printArrayList(ArrayList<String> list) { // 拼接左括弧 System.out.print("{"); // 遍歷集合 for (int i = 0; i < list.size(); i++) { // 獲取元素 String s = list.get(i); // 拼接@符號 if (i != list.size() ‐ 1) { System.out.print(s + "@"); } else { // 拼接右括弧 System.out.print(s + "}"); } } }定義獲取所有偶數元素集合的方法(ArrayList類型作為返回值)
public class Test04ArrayList { public static void main(String[] args) { // 創建Random 對象 Random random = new Random(); // 創建ArrayList 對象 ArrayList<Integer> list = new ArrayList<>(); // 添加隨機數到集合 for (int i = 0; i < 20; i++) { int r = random.nextInt(1000) + 1; list.add(r); } // 調用偶數集合的方法 ArrayList<Integer> arrayList = getArrayList(list); System.out.println(arrayList); } public static ArrayList<Integer> getArrayList(ArrayList<Integer> list) { // 創建小集合,來保存偶數 ArrayList<Integer> smallList = new ArrayList<>(); // 遍歷list for (int i = 0; i < list.size(); i++) { // 獲取元素 Integer num = list.get(i); // 判斷為偶數,添加到小集合中 if (num % 2 == 0) { smallList.add(num); } } // 返回小集合 return smallList; } }

