返回列表 發帖

ArrayList 操作練習 - removeIf()

本帖最後由 tonyh 於 2022-4-11 21:35 編輯

範例一

假設有一個 ArrayList 其內容為:
[1, -7, 8, -2, -3, -5, -6, -1, 9, -4]

試以跑迴圈方式將負數成員移除,預期操作後該 ArrayList 內容為:
[1, 8, 9]
  1. import java.util.ArrayList;

  2. public class Ch01 {

  3.         ArrayList<Integer> al=new ArrayList<Integer>();
  4.        
  5.         Ch01() {
  6.              al.add(1);       
  7.              al.add(-7);       
  8.              al.add(8);       
  9.              al.add(-2);       
  10.              al.add(-3);       
  11.              al.add(-5);       
  12.              al.add(-6);       
  13.              al.add(-1);       
  14.              al.add(9);       
  15.              al.add(-4);
  16.    
  17.              System.out.println(al);

  18.              //al.removeIf(e -> e<0);  
  19.              for(int i=0, len=al.size(); i<len; i++){
  20.                      if(al.get(i)<0){
  21.                              al.remove(i);
  22.                              i--;
  23.                              len--;
  24.                      }
  25.              }
  26.    
  27.              System.out.println(al);
  28.         }
  29.         public static void main(String[] args) {
  30.                 new Ch01();
  31.         }
  32. }
複製代碼
範例二

假設有一個 ArrayList 其內容為:
[蘋果, 鳳梨, 香蕉, 奇異果, 芭樂, 火龍果]

試以 removeIf() 將帶有 "果" 的成員移除,預期操作後該 ArrayList 內容為:
[鳳梨, 香蕉, 芭樂]
  1. import java.util.ArrayList;

  2. public class Ch02 {

  3.         ArrayList<String> al=new ArrayList<String>();

  4.         Ch02() {
  5.                 al.add("蘋果");       
  6.                 al.add("鳳梨");       
  7.                 al.add("香蕉");       
  8.                 al.add("奇異果");       
  9.                 al.add("芭樂");
  10.                 al.add("火龍果");       

  11.                 System.out.println(al);

  12.                 al.removeIf(e -> e.contains("果"));

  13.                 System.out.println(al);
  14.         }
  15.         public static void main(String[] args) {
  16.                 new Ch02();
  17.         }
  18. }
複製代碼

返回列表