自定义Filter过滤集合中的元素

来源:互联网 发布:一键手绘图的软件 编辑:程序博客网 时间:2024/06/05 03:53

要求:过滤集合中值大于9的元素

package com.h.collection;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * Created by John on 2017/6/30. * 自定义过滤器过滤集合中的元素 */public class FilterCollection {    public static void main(String[] args) {        List<Integer> list = new ArrayList<>();        list.add(6);        list.add(5);        list.add(7);        list.add(12);        list.add(16);        list.add(10);        System.out.print(list);       list = filter(list, new Filter() {            @Override            public boolean predicate(Object o) {                //定义过滤的规则                if((Integer)o > 9)                    return true;                return false;            }        });        System.out.print(list);    }    public static List filter(List list,Filter filter){             Iterator iterator = list.iterator();             while (iterator.hasNext()){                 int num = (int) iterator.next();                 if(filter.predicate(num)){                     iterator.remove();;                 }             }        return list;    }}
package com.h.collection;/** * Created by John on 2017/6/30. */public interface Filter {    boolean predicate(Object o);}
原创粉丝点击