集合信息的筛选

Question:数组当中有多条“课程+是否必学”的信息如下,请通过 Predicate 接口的拼装将符合要求的字符串筛选到集合ArrayList 中,需要同时满足两个条件:
1. 必须为必学课;
2. 课程是否为4个字。

package Demo06.Predicate;
import java.util.ArrayList;
import java.util.function.Predicate;
public class Demo05_Test {
    public static ArrayList filter(String [] array, Predicate pre1,Predicate pre2){
        ArrayList arrayList=new ArrayList();
        for (String s:array) {
            Boolean b = pre1.and(pre2).test(s);
            if(b){
                arrayList.add(s);
            }
        }
        return arrayList;
    }
    public static void main(String[] args) {
        String [] array={"高等数学,必学","思想道德与修养,必学","大学英语,必学","离散数学,选学"};
        ArrayList arrayList=filter(array,(String s)->{
            return s.split(",")[1].equals("必学");
        },(String s)->{
            return s.split(",")[0].length()==4;
        });
        for (String s:arrayList) {
            System.out.println(s);
        }
    }
}

你可能感兴趣的:(集合信息的筛选)