• 使用for循环取出所需要的值生成新的列表


    在开发过程中对于集合的遍历一般采用for循环,

    但在循环中移除数据的时候for循环无法满足该需求,

    这时需要通过Iterator来实现循环中移除数据。

    例如现在有这样一个需求,一个集合(ArrayList)中有0-9 10个数据,需要移除其中的偶数。打印剩下的奇数。

    通过for循环来操作将会写出如下代码:

    方法1:

          利用for循环获得偶数

    package com.hyhl.util;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ForList {
        public static void main(String[] args) {  
            List<Integer> list = new ArrayList<Integer>(10);  
            for (int i = 0; i < 10; i++) {  
                list.add(i);  
            }  
            
            List<Integer> shuList = new ArrayList<Integer>();
         //新建一个偶数列表 shuList ,将list表中的所有偶数放入shuList表中
    for(Integer shu:list){ if(shu%2==0){ shuList.add(shu); } }
    //第二步,将list表中的shuList的数据移除,就得到需要的list
    for(Integer s:shuList){ list.remove(s); } for (int number : list) { System.out.println(number); } } }

     方法2:

    直接使用:Iterator来实现循环中移除数据,如下所示:

    package com.hyhl.util;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ForIterator {
        public static void main(String[] args) {  
            List<Integer> list = new ArrayList<Integer>(10);  
            for (int i = 0; i < 10; i++) {  
                list.add(i);  
            }  
            
            
            for (Iterator<Integer> iterator = list.iterator(); iterator.hasNext();) {  
                Integer val = iterator.next();  
                if (val % 2 == 0) {  //是偶数的时候已移除某一项
                    iterator.remove();  
                }  
            }  
            for (int number : list) {  
                System.out.println(number);
            }  
        } 

     结论:Iterator比for循环有更强的适应性,特别是在循环中需要对数据进行删除等操作时使用比较方便

  • 相关阅读:
    hdu 2222 Keywords Search
    Meet and Greet
    hdu 4673
    hdu 4768
    hdu 4747 Mex
    uva 1513 Movie collection
    uva 12299 RMQ with Shifts
    uva 11732 strcmp() Anyone?
    uva 1401
    hdu 1251 统计难题
  • 原文地址:https://www.cnblogs.com/wyf-love-dch/p/7273858.html
Copyright © 2020-2023  润新知