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;      }  }

Tags: