在Java 8中,Stream API已成为编写更具可读性和功能性的代码的核心。
在Stream API中实现if/else逻辑可以使用filter()和forEach()方法配合完成。
在filter()中我们可以输入lambda表达式作为参数,作为逻辑判断的条件。而在forEach()中,我们可以输入lambda表达式来处理符合条件的流。
下面为你提供两个代码示例以更好地理解如何在Java 8 Stream中实现if/else逻辑。
示例 #1
List<String> fruits = Arrays.asList("Apple", "Banana", "Mango", "Orange");
fruits.stream()
.filter(fruit -> "Banana".equals(fruit))
.findFirst()
.ifPresent(fruit -> System.out.println("I found a Banana"));
在上面的示例中,我们使用Stream过滤器和lambda表达式,通过filter()方法找到“Banana”这个字符串,并使用findFirst()方法获取找到的第一个元素,然后使用ifPresent()方法来判断结果。
如果条件为真,将执行lambda表达式,打印输出“I found a Banana”。
示例 #2
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
numbers.stream()
.mapToInt(i -> i)
.filter(i -> i % 2 == 0)
.forEach(i -> {
System.out.print(i + " is ");
System.out.println(i % 4 == 0 ? "divisible by 4" : "not divisible by 4");
});
在上面的示例中,我们使用Stream.mapToInt()方法,将Stream
这两个示例都展示了如何在Java 8 Stream中实现if/else逻辑。使用Stream API可以让我们更加有效地处理集合中的元素,编写更具可读性和功能性的代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在java 8 stream表达式实现if/else逻辑 - Python技术站