假如现在有这样一个集合
[拯救者笔记本电脑, 苹果 X, 华为 P30 Pro麒麟980, 华为 荣耀 20, 平板电脑, 华为 Mate 20 保时捷设计]
现有三个需求
1.获取含有"华为" 字符串的商品手机数量
2. 获取含有"电脑" 字符串的商品数量
3. 获取标题长度大于10的商品
当然实际开发并不可能只有这么三个简单的需求
如果是用传统的集合遍历方法可能要执行三个循环,而使用Predicate的话就要一个通用的方法
使用Predicate完成需求如下
public class ListTest {
public static void main(String[] args) {
//创建一个Set的无序集合
Collection collecter = new HashSet<>();
collecter.add("拯救者笔记本电脑");
collecter.add("平板电脑");
.....
collecter.add("华为 荣耀 20");
// 获取含有"华为" 字符串的商品手机数量
System.out.println(amount(collecter,str ->((String)str).contains("华为")));
//获取含有"电脑" 字符串的商品数量
System.out.println(amount(collecter,str ->((String)str).contains("电脑")));
//获取标题长度大于10的商品
System.out.println(amount(collecter,str ->((Strin