【簡易版】Java ArrayList(增刪改查)


1、什么是ArrayList
ArrayList就是傳說中的動態數組,用MSDN中的說法,就是Array的復雜版本,它提供了如下一些好處:
(1)動態的增加和減少元素
(2)實現了ICollection和IList接口
(3)靈活的設置數組的大小

2、ArrayLis的創建以及增刪改查方法

(1)ArrayList的創建以及元素的添加ArrayList <變量名> = new ArrayList(); //()中也可傳參。

注釋:上面是創建一個空的ArrayList列表。當我們想往列表中傳遞元素的時候是通過.add()的方法來進行賦值的。看一下下面的案例。另外要想輸出出列表中的元素的話要通過for循環遍歷。

public class test {
	public static void main(String[] args) {
		ArrayList lis = new ArrayList();
		
		lis.add("tony");
		lis.add("tom");
		lis.add("jack");
		lis.add("mary");
		lis.add("even");
		
		for(int i=0;i<lis.size();i++){
			String result = (String)lis.get(i);
			System.out.println(result);
		}

 結果:輸出結果如下。

tony
tom
jack
mary
even

(2)ArrayList中元素的刪除

注釋:變量名.remove(int Index); //通過.remove(int Index)方法來進行刪除。這里直接傳入要刪除元素的下標即可。當然也可以直接傳入值進行刪除。如果你覺得用下邊的方式比較麻煩那可以直接輸入要刪除項的值。

package com.java.demo_9;

import java.util.ArrayList;

public class Arraylist {
	public static void main(String[] args) {
		ArrayList lis = new ArrayList();

		lis.add("tony");
		lis.add("tom");
		lis.add("jack");
		lis.add("mary");
		lis.add("even");

		System.out.println("---------------------------------");
		
		System.out.println("<ArrayList原列表元素>:");
		
		for (int i = 0; i < lis.size(); i++) {
			String result = (String) lis.get(i);
			System.out.println(result);
		}
		System.out.println("---------------------------------");
		
		System.out.println("<刪除元素后的ArrayList列表>:");
		
		lis.remove(1);
		
		for (int i = 0; i < lis.size(); i++) {
			String result = (String) lis.get(i);
			System.out.println(result);
		}
		System.out.println("---------------------------------");
	}
}

結果:因為我指定的是lis.remove(1); index是從0開始起始的因此1代表第2個元素。因此刪除的是tom這個元素。

<ArrayList原列表元素>:
tony
tom
jack
mary
even
---------------------------------

<刪除元素后的ArrayList列表>:
tony
jack
mary
even
---------------------------------

(3)ArrayList中元素的修改注釋:ArrayList方法中有一個.set方法(變量.set(index, element);)。通過這個方法可以修改列表中的值。(index指定下標,element指定要修改后元素的值)。一起來看一下下面的示例。

package com.java.demo_9;

import java.util.ArrayList;

public class Arraylist {
	public static void main(String[] args) {
		ArrayList lis = new ArrayList();

		lis.add("tony");
		lis.add("tom");
		lis.add("jack");
		lis.add("mary");
		lis.add("even");

		System.out.println("---------------------------------");
		
		System.out.println("<ArrayList原列表元素>:");
		
		for (int i = 0; i < lis.size(); i++) {
			String result = (String) lis.get(i);
			System.out.println(result);
		}
		System.out.println("---------------------------------");
		
		System.out.println("<修改后的ArrayList列表>:");
		
		//lis.remove("tom");
		lis.set(2, "lucy");
		
		for (int i = 0; i < lis.size(); i++) {
			String result = (String) lis.get(i);
			System.out.println(result);
		}
		System.out.println("---------------------------------");
	}
}

 結果:通過下面的結果可以看出第3個下標中的值已經被改變了。本來是jack現在更改成了lucy。

<ArrayList原列表元素>:
tony
tom
jack
mary
even
---------------------------------

<修改后的ArrayList列表>:
tony
tom
lucy
mary
even
---------------------------------

(3)ArrayList中元素的查找

注釋:.contains()是用來判斷一個元素是否包含在另一個元素中的。所以這里是判斷查找的元素是否包含在列表中。返回值方面我直接用的是打印的方法。也可以通過boolean,return的方式返回。

案例1:

import java.util.ArrayList;

public class tes {
	public static void main(String[] args) {
		ArrayList lis = new ArrayList();
		lis.add("tony");
		lis.add("tom");
		lis.add("jack");
		lis.add("mary");
		lis.add("even");
		
		if(lis.contains("vivian")){
			System.out.println("包含此元素!");
		}
		else{
			System.out.println("該元素不存在!");
		}
	}

}

結果:返回結果參照代碼。找到了就打印“包含此元素,沒找到就顯示元素不存在。

案例2:

 

package com.java.demo_9;

import java.util.ArrayList;

public class ArrLis {

	public static void main(String[] args) {
		ArrayList list =new ArrayList();
		
		list.add("tony");
		list.add("tom");
		list.add("jack");
		list.add("kevin");
		
		for(int i=0;i<list.size();i++){
			String result =(String )list.get(i);
			System.out.println(result);
		}
		System.out.println("+++++++++++++++++++++++++++++++++++++");
		
		ArrayList list1 = new ArrayList();
		for(int i=0;i<list.size();i++){
			String res = (String)list.get(i);
			if(list.contains("kevin")){
				list1.add("kevin");
				System.out.println(list1);
				break;
			}else{
				System.out.println("沒找到該元素!");
				break;
			}
		}
	}

}

 

 

結果:因為列表中中包含"kevin"這個元素所以返回值為該元素。如果列表中沒有該元素返回值為“沒有找到該元素!”。

注意事項:我是重新設定了一個新空ArrayList(list1)。目的就是為了如果找到該值把這個值直接放到新的ArrayList中。另外if,else用了2次break。就是只要找到或者沒找到就退出的意思。如果不這么寫那么for循環每找一次結果就會打印一次,這顯然是不必要的。

能夠實現上例的方法很多,這里只介紹了ArrayList最基礎的方法。僅供參考!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM