1. 程式人生 > >Java基礎知識複習(九) -- 刪除ArrayList中的資料

Java基礎知識複習(九) -- 刪除ArrayList中的資料

首先初始化一個Hero集合,裡面放100個String物件,名稱分別是從
str 0
str 1
str 2

str 99.

通過遍歷的手段,刪除掉名字編號是8的倍數的物件

若最簡單的使用位置查詢的方式來刪除對應物件會發現,若每次查詢並刪除,後面的物件會自動前移

參考程式碼1

package review5;

import java.util.ArrayList;

public class Remove {
	public static void main(String[] args) {
		ArrayList<String> str =
new ArrayList<>(); for(int i = 0; i < 100; i++) { str.add("str "+i); } System.out.println(str); //刪除掉名字編號是8的倍數的物件 for(int i = 0; i < str.size(); i++) { if(i % 7 == 0) { System.out.print(str.get(i)+" "); str.remove(i); } } str.add(0, "str "+0); System.out.
println(); System.out.println(str); } }

參考程式碼2

package review5;

import java.util.ArrayList;

public class Remove {
	public static void main(String[] args) {
		ArrayList<String> str = new ArrayList<>();
		for(int i = 0; i < 100; i++) {
			str.add("str "+i);
		}
		System.out.println
(str); //temp用來儲存名字編號是8的倍數的物件 ArrayList<String> temp = new ArrayList<>(); for(String s : str) { int i = Integer.parseInt(s.substring(4)); if(i % 8 == 0) { temp.add(str.get(i)); } } System.out.println(temp); // for(String t : temp) { // str.remove(t); // } //刪除str中與temp中相同的所有物件 str.removeAll(temp); System.out.println(str); } }