Board logo

標題: ArrayList 操作練習 - removeIf() [打印本頁]

作者: tonyh    時間: 2022-4-11 21:09     標題: 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. }
複製代碼

作者: 黃宇綸    時間: 2022-4-18 19:27

本帖最後由 黃宇綸 於 2022-4-18 19:41 編輯
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayList;
  5. public class Ch01 {
  6.         ArrayList<Integer> al=new ArrayList<Integer>();
  7.         Ch01() {
  8.                 al.add(1);      
  9.                 al.add(-7);      
  10.                 al.add(8);      
  11.                 al.add(-2);      
  12.                 al.add(-3);      
  13.                 al.add(-5);      
  14.                 al.add(-6);      
  15.                 al.add(-1);      
  16.                 al.add(9);      
  17.                 al.add(-4);
  18.                 System.out.println(al);
  19.                 for(int i=0, l=al.size(); i<l; i++){
  20.                         if(al.get(i)<0){
  21.                                 al.remove(i);
  22.                                 i--;
  23.                                 l--;
  24.                         }
  25.                 }
  26.                 System.out.println(al);
  27.         }
  28.         public static void main(String[] args) {
  29.                 new Ch01();
  30.         }
  31. }
複製代碼
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayList;
  5. public class Ch01 {
  6.         ArrayList<String> al=new ArrayList<String>();
  7.         Ch01() {
  8.                 al.add("蘋果");      
  9.                 al.add("鳳梨");      
  10.                 al.add("香蕉");      
  11.                 al.add("奇異果");   
  12.                 al.add("芭樂");        
  13.                 al.add("火龍果");     
  14.                 System.out.println(al);
  15.                 al.removeIf(e->e.contains("果"));
  16.                 System.out.println(al);
  17.         }
  18.         public static void main(String[] args) {
  19.                 new Ch01();
  20.         }
  21. }
複製代碼

作者: 黃宇瑄    時間: 2022-4-18 19:29

  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.ArrayList;
  4. public class Ch01{
  5.         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  6.         ArrayList<Integer> al=new ArrayList<Integer>();
  7.         Ch01() throws Exception
  8.         {
  9.                 al.add(1);
  10.                 al.add(-7);
  11.                 al.add(8);
  12.                 al.add(-2);
  13.                 al.add(-3);
  14.                 al.add(-5);
  15.                 al.add(-6);
  16.                 al.add(-1);
  17.                 al.add(9);
  18.                 al.add(-4);
  19.                 System.out.println(al);
  20.                 for(int i=0, len=al.size(); i<len; i++)
  21.                 {
  22.                         if(al.get(i)<0)
  23.                         {
  24.                                 al.remove(i);
  25.                                 i--;
  26.                                 len--;
  27.                         }
  28.                 }
  29.                 System.out.println(al);
  30.         }
  31.         public static void main(String[] args) throws Exception {
  32.                 new Ch01();
  33.         }
  34. }
複製代碼
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayList;
  5. public class Ch02 {
  6.         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  7.         ArrayList<String> al=new ArrayList<String>();
  8.         Ch02() throws IOException
  9.         {
  10.                 al.add("蘋果");
  11.                 al.add("鳳梨");
  12.                 al.add("香蕉");
  13.                 al.add("奇異果");
  14.                 al.add("芭樂");
  15.                 al.add("火龍果");
  16.                 System.out.println(al);
  17.                 al.removeIf(e -> e.contains("果"));
  18.                 System.out.println(al);
  19.         }
  20.         public static void main(String[] args) throws IOException {
  21.                 new Ch02();
  22.         }
  23. }
複製代碼

作者: 李沛昂    時間: 2022-4-18 19:47

  1. import java.util.ArrayList;

  2. public class Ch00 {

  3.         ArrayList<Integer> al=new ArrayList<Integer>();
  4.       
  5.         Ch00() {
  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 Ch00();
  31.         }
  32. }
複製代碼

作者: 李沛昂    時間: 2022-4-18 19:51

  1. import java.util.ArrayList;
  2. public class Ch00 {

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

  4.         Ch00() {
  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 Ch00();
  17.         }
  18. }
複製代碼

作者: 戴嘉禾    時間: 2022-6-11 13:56

removeIf 的 不管是數字還是字串都看懂且練習過了
  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. }
複製代碼
  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. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2