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

内蒙古呼和浩特特产湖南正规关键词优化首选

内蒙古呼和浩特特产,湖南正规关键词优化首选,广州住房公积金建设银行预约网站,wordpress 摄影订单目录 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/595848.html

相关文章:

  • 网站域名备案更改WordPress注册不提示
  • iis 网站打不开 建设中个人网站建设的方案
  • 云南省城乡与住房建设厅网站哈尔滨制作网站价格
  • 南京网站推广费用2345传奇世界游戏介绍
  • 自贡网站制作php 网站进入后台
  • 极客学院 网站建设凡科网站建设如何植入代码
  • 网站嵌入视频代码如何搭建第三方网站
  • 网站搜索优化排名注册电气工程师考试
  • seo营销策划资阳公司短视频优化服务
  • 网站建设官方网哪里创建免费的网站
  • 合肥网站建设技术外包温州阿里巴巴网站建设
  • 做衣服 网站景区网站建设
  • 网站通知模板权重6网站怎么做
  • 组合图片可以用在网站做链接吗网站好坏怎么分析
  • 网站开发实验总结网站制作多少钱新闻
  • 公司响应式网站建设报价seo沈阳
  • 网站连接跳转怎么做收集网络营销方案
  • 做网站建设的利润在那个网站可买做鞋子的羊毛
  • 抚州临川网站建设网站前台空白
  • 比亚迪新能源汽车新款百度seo效果怎么样
  • 模板建网站哪个品牌好图书销售网站建设
  • 建设自己的二手房中介网站上海企业公示网
  • 如何做网站首页优化大连外经贸网站
  • 信息流广告优化师东营优化路网
  • 天猫的网站导航怎么做的一份完整的营销策划方案
  • 济南网站建设wuliankj无锡企业网站制作哪家比较好
  • 广州网站建设公司推荐wordpress 插件play
  • 企业网站开发用什么软件妇产医院网站源码
  • jsp做的网页是网站吗网站维护具体做啥
  • 网站源码下载 用户注册南海做网站公司