既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
一、Consumer:消费型接口
package functional;
import java.util.function.Consumer;
import java.util.stream.Stream;
/\*\*
\* FunctionalInterface Consumer test
\*
\* @author dd
\* @since 2021/12/14
\*/
public class ConsumerTest {
private static Stream stream = Stream.of("aaa", "bbb", "ddd", "ccc", "fff");
/\*\*
\* 常规接口实现写法
\*/
public static void test1() {
Consumer consumer = new Consumer() {
@Override
public void accept(Object o) {
System.out.println(o.toString());
}
};
stream.forEach(consumer);
}
/\*\*
\* 函数式接口实现写法
\*/
public static void test2() {
Consumer consumer = (s) -> System.out.println(s.toString());
stream.forEach(consumer);
}
/\*\*
\* 函数式接口简化写法
\*/
public static void test3() {
stream.forEach((s) -> System.out.println(s.toString()));
}
/\*\*
\* 函数式接口方法引用实现写法
\*/
public static void test4() {
Consumer consumer = System.out::println;
stream.forEach(consumer);
}
/\*\*
\* 函数式接口方法引用实现简化写法
\*/
public static void test5() {
stream.forEach(System.out::println);
}
}
二、Supplier:供给型接口
package functional;
import java.util.Random;
import java.util.function.Supplier;
/\*\*
\* FunctionalInterface Supplier test
\*
\* @author dd
\* @since 2021/12/14
\*/
public class SupplierTest {
/\*\*
\* 常规接口实现写法
\*/
public static void test1() {
Supplier supplier = new Supplier() {
@Override
public Object get() {
return new Random().nextInt();
}
};
System.out.println(supplier.get());
}
/\*\*
\* 函数式接口实现写法
\*/
public static void test2() {
Supplier supplier = () -> new Random().nextInt();
System.out.println(supplier.get());
}
/\*\*
\* 函数式接口方法引用实现写法
\*/
public static void test3() {
Supplier supplier = Math::random;
System.out.println(supplier.get());
}
}
三、Function:函数型接口
package functional;
import java.util.function.Function;
import java.util.stream.Stream;
/\*\*
\* FunctionalInterface function test
\*
\* @author dd
\* @since 2021/12/14
\*/
public class FunctionTest {
private static Stream stream = Stream.of("aaa", "bbb", "ddd", "ccc", "fff");
/\*\*
\* 常规接口实现写法
\*/
public static void test1() {
Function function = new Function() {
@Override
public Object apply(Object o) {
return o.hashCode();
}
};
System.out.println(function.apply("dd"));
}
/\*\*
\* 函数式接口实现写法
\*/
public static void test2() {
Function function = (s) -> s.hashCode();
System.out.println(function.apply("dd"));
}
/\*\*
\* 函数式接口
\* stream应用
\*/
public static void test3() {
Function function = (s) -> s.hashCode();
Stream mapStream = stream.map(function);
mapStream.forEach(System.out::println);
}
public static void main(String[] args) {
FunctionTest.test3();
![img](https://img-blog.csdnimg.cn/img_convert/e79ccad66b5f0706967d0c3dc6207a6f.png)
![img](https://img-blog.csdnimg.cn/img_convert/1a957453c151c56f34cf3b36aa02d387.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**
适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**