我打算使用Java11。学习一种新的方法Predicate.not,我找到了当前的代码,只找到了cat family:
List<String> animals = List.of("cat", "leopard", "dog", "lion", "horse");
Predicate<String> cats = a -> !a.equals("dog") && !a.equals("horse");
Set<String> filterCat = animals.stream().filter(cats).collect(Collectors.toSet());
System.out.println(filterCat);
输出是:
豹猫猫
现在,我正在尝试使用新方法,并且输出结果不正确。我该如何纠正?我做错了什么?
我后来的代码:
Predicate<String> updatedCatFilter = Predicate.not(a -> a.equals("dog") && a.equals("horse"));
Set<String> catFamily = animals.stream().filter(updatedCatFilter).collect(Collectors.toSet());
System.out.println(filterCat);
但这现在输出了我所有的清单。
马,豹,猫,狗,狮子
江户川乱折腾
翻过高山走不出你
相关分类