您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
Java 函数式接口与流 API 的联动可以让你更简洁地处理集合数据。函数式接口是只有一个抽象方法的接口,它们可以与 Lambda 表达式和方法引用一起使用。流 API 是 Java 8 引入的一种新的数据处理方式,它允许你以声明式的方式处理集合数据。
以下是一些常见的函数式接口和它们与流 API 的联动示例:
Predicate<T>
:用于测试给定对象是否满足某个条件。import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class FunctionalInterfaceExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 使用 Predicate 过滤偶数
List<Integer> evenNumbers = numbers.stream()
.filter(Predicate.even())
.collect(Collectors.toList());
System.out.println(evenNumbers); // 输出:[2, 4]
}
}
Function<T, R>
:用于将一个对象转换为另一个对象。import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class FunctionalInterfaceExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
// 使用 Function 将字符串转换为大写
List<String> upperCaseNames = names.stream()
.map(Function.identity())
.collect(Collectors.toList());
System.out.println(upperCaseNames); // 输出:[Alice, Bob, Charlie]
}
}
Consumer<T>
:用于消费(处理)集合中的每个元素。import java.util.Arrays;
import java.util.List;
public class FunctionalInterfaceExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 使用 Consumer 打印每个数字
numbers.stream()
.forEach(System.out::println);
}
}
Supplier<T>
:用于生成一个集合中的元素。import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class FunctionalInterfaceExample {
public static void main(String[] args) {
// 使用 Supplier 生成一个包含 1 到 5 的整数列表
List<Integer> numbers = Stream.generate(Integer::new)
.limit(5)
.collect(Collectors.toList());
System.out.println(numbers); // 输出:[1, 2, 3, 4, 5]
}
}
这些示例展示了如何使用函数式接口与流 API 联动来处理集合数据。你可以根据需要选择合适的函数式接口,以实现更简洁、易读的数据处理。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。