进阶day06-Predicate的练习
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
package com.inmind.functional_interface02;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
/*
|
||||
数组当中有多条“姓名+性别”的信息如下,请通过Predicate接口的拼装将符合要求的字符串筛选到集合ArrayList中,需要同时满足两个条件:
|
||||
|
||||
@@ -15,5 +18,27 @@ package com.inmind.functional_interface02;
|
||||
public class Demo12 {
|
||||
public static void main(String[] args) {
|
||||
String[] array = { "迪丽热巴,女", "古力娜扎,女", "马尔扎哈,男", "赵丽颖,女" };
|
||||
//"迪丽热巴,女"-----["迪丽热巴","女"]
|
||||
ArrayList<String> list = getList(
|
||||
(String s)->{
|
||||
return s.split(",")[1].equals("女");
|
||||
},
|
||||
(String s)->{
|
||||
return s.split(",")[0].length() ==4;
|
||||
},
|
||||
array
|
||||
);
|
||||
System.out.println(list);
|
||||
}
|
||||
//定义一个方法,接收2个条件predicate,数组,返回一个集合
|
||||
public static ArrayList<String> getList(Predicate<String> p1, Predicate<String> p2, String[] arr) {
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
//遍历数组,使用2个条件分别对指定的内容进行判断,满足则添加到集合中
|
||||
for (String s : arr) {//"迪丽热巴,女"
|
||||
if (p1.and(p2).test(s)) {
|
||||
list.add(s);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user