当前位置: 首页 > wzjs >正文

网站建设 自查表产品经理培训

网站建设 自查表,产品经理培训,企业更新网站的好处,网络规划设计师 高级目录 1、函数式编程核心概念 1.1、什么是函数式编程 1.2、Java8的函数式支持 2、Lambda表达式 2.1、基本语法 2.2、使用示例 3、函数式接口 3.1、核心函数式接口 4、方法引用 4.1、示例代码 5、Stream API 5.1、流操作三个步骤 5.2、常用操作 6、Optional类 6.1、…

目录

1、函数式编程核心概念

1.1、什么是函数式编程

 1.2、Java8的函数式支持

2、Lambda表达式

2.1、基本语法

2.2、使用示例

3、函数式接口

3.1、核心函数式接口

4、方法引用

4.1、示例代码

 5、Stream API

5.1、流操作三个步骤

5.2、常用操作

6、Optional类

6.1、主要方法

6.2、使用示例

7、函数式编程实践


 

1、函数式编程核心概念

1.1、什么是函数式编程

  • 函数可以像变量一样传递和使用
  • 更加关注“做什么”而非“如何做”
  • 函数不修改外部状态
  • 避免可变状态

 1.2、Java8的函数式支持

  • Lambda表达式
  • 方法引用
  • Stream API
  • Optional类
  • 默认方法
  • 函数式接口

2、Lambda表达式

2.1、基本语法

(parameters)-> expression 或者 (parameters) -> {statements;}

2.2、使用示例

// 传统匿名类
Runnable r1 = new Runnable() {public void run() {System.out.println("Hello");}
};// Lambda表达式,无参数,单号代码,省去{}和return
Runnable r2 = () -> System.out.println("Hello");// 带参数的Lambda,多个参数
Comparator<String> c = (s1, s2) -> s1.compareToIgnoreCase(s2);// 多行代码,单个参数可以省去()
Function<String, Integer> f = s -> {System.out.println("Processing: " + s);return s.length();
};

3、函数式接口

3.1、核心函数式接口

接口方法用途
Function<T,R>R apply(T t)传入T返回R
Consumer<T>void accept(T t)消费T无返回
Supplier<T>T get()提供T型对象
Predicate<T>Boolean test(T t)断言判断
UnaryOperator<T>T apply(T t)一元运算
BinaryOperator<T>T apply(T t1, T t2)二元运算

3.2、自定义函数式接口

@FunctionalInterface
interface StringProcessor {String process(String input);// 只能有一个抽象方法default void info() {System.out.println("Functional interface");}
}

4、方法引用

  • 静态方法引用:ClassName::staticMethod
  • 实例方法引用:instance::method
  • 任意对象方法引用:ClassName::method
  • 构造方法引用:ClassName::new

4.1、示例代码

// 静态方法
Function<String, Integer> p = Integer::parseInt;// 实例方法
Consumer<String> printer = System.out::println;// 任意对象方法
Function<String, String> upper = String::toUpperCase;// 构造方法
Supplier<List<String>> listSupplier = ArrayList::new;

 5、Stream API

5.1、流操作三个步骤

1、创建流:集合、数组、I、O等

2、中间操作:过滤、映射、排序等

3、终端操作:收集、计算、遍历

5.2、常用操作

List<String> names = Arrays.asList("Alice", "Bob", "Charlie");// 过滤和映射
List<String> result = names.stream().filter(s -> s.length() > 3).map(String::toUpperCase).collect(Collectors.toList());// 分组
Map<Integer, List<String>> groupByLength = names.stream().collect(Collectors.groupingBy(String::length));// 并行处理
long count = names.parallelStream().filter(s -> s.startsWith("A")).count();

6、Optional类

6.1、主要方法

  • of()/ofNullable()

  • isPresent()/ifPresent()

  • orElse()/orElseGet()/orElseThrow()

  • map()/flatMap()

  • filter()

6.2、使用示例

Optional<String> opt = Optional.ofNullable(getName());// 传统null检查
if (opt.isPresent()) {System.out.println(opt.get());
}// 函数式风格
opt.ifPresent(System.out::println);// 链式操作
String result = opt.map(String::toUpperCase).orElse("DEFAULT");

7、函数式编程实践

// 传统方式
List<String> filtered = new ArrayList<>();
for (String name : names) {if (name.length() > 3) {filtered.add(name.toUpperCase());}
}// 函数式方式
List<String> filtered = names.stream().filter(n -> n.length() > 3).map(String::toUpperCase).collect(Collectors.toList());

http://www.dtcms.com/wzjs/456895.html

相关文章:

  • 宜兴做宠物的网站酒店线上推广方案有哪些
  • 网站banner flash素材店铺seo是什么意思
  • 如何建设赌博网站夸克搜索入口
  • 电脑路由器做网站服务器十大营销策略
  • 品牌宣传网站制作互联网舆情监控系统
  • 安微省城城乡建设厅网站百度普通收录
  • wordpress成长记录网站模版主流搜索引擎有哪些
  • 长春网站建设方案唐山网站建设方案优化
  • 网站认证怎么做新东方英语线下培训学校
  • 宁夏建设工程招标投标管理中心网站竞价专员是做什么的
  • 好看的ui界面百度网站的优化方案
  • 如何自己做企业网站西安seo网站排名
  • 爱搜索中级网站建设厦门网站建设
  • 重庆网站建设jccit朝阳seo建站
  • 做淘宝网站需要多少钱西部数码域名注册
  • wordpress如何修改html代码简述seo对各类网站的作用
  • 网站是如何设计配置方案的企业推广app
  • 网站seo的重要性电脑培训机构哪个好
  • html5怎么做网站计算机培训班有用吗
  • 企业邮箱地址怎么填青岛seo外包服务
  • 八桂职教网登录入口网站关键词排名优化电话
  • 大连网站开发多少钱广东深圳疫情最新消息今天
  • 极客联盟网站建设公司怎么样爱站工具下载
  • a5网站建设湖北百度关键词排名软件
  • 营销型门户网站建设竞价开户公司
  • 网站快速收录软件郑州seo
  • nba网站制作幽默软文广告经典案例
  • 电影网站怎么做流量免费自助建站网站
  • 设计类网站建设规划书西安网站seo哪家公司好
  • 做生存曲线网站2022年最火的关键词