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

成都正规集团网站制作维护商业综合体

成都正规集团网站制作维护,商业综合体,做网站有自己的服务器吗,静态网站模板中英文目录 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/a/453408.html

相关文章:

  • 网站做生鲜线下推广建议wordpress可视化编辑主题
  • 《投资-81》价值投资者的认知升级与交易规则重构 - 第一层:商业模式详解、常见的优质模式商业模式、价值投资选择的标准
  • UI设计(一)应用商店展示图标封面标题——东方仙盟筑基期
  • 空间制作网站网站建设目标计划书
  • JAVA算法练习题day34
  • [Java]PTA:(选做) jmu-Java-03面向对象基础-覆盖与equals
  • 网站建设图片logo电子商务就是网络营销
  • 机器学习基础入门(第四篇):无监督学习与聚类方法
  • Go基础:一文掌握Go语言泛型的使用
  • iBizModel 实体逻辑(PSDELOGIC)中的界面逻辑子类(VIEWLOGIC)详解
  • pywebview:用Python+Web技术打造轻量级桌面应用!
  • python 做办公网站移动应用开发学什么
  • 数据库迁移migration
  • Channel 和 Flow 选择场景对比 (例子:不停发事件的场景)
  • 《Vuejs设计与实现》第 18 章(同构渲染)(下)
  • jsp网站开发大作业长春网站建设wang
  • 淄博网站建设网宽河北网站建设推广电话
  • Django ORM 详解
  • C语言模拟面向对象编程方法之多态
  • 温州市建设工程管理网站温州建设网站哪家好
  • 划时代的技术飞跃:OpenAI DevDay 2025 全面深度解读
  • 做网站的网页图片素材怎么找长春做网站哪家便宜
  • 计算机操作系统:操作系统的发展过程
  • 未来之窗昭和仙君 (十三) 对话框组件— 东方仙盟筑基期
  • 茶叶公司网站建设策划书制作展示型网站公司哪家好
  • 部门定制网站建设公司免费电子版个人简历模板
  • 佛山营销网站建设咨询网站统计分析平台
  • 【工具变量】上市公司气候风险数据集(2011-2023年)
  • nat outbound acl-number address-group group-index 概念及题目
  • 电商网站构建预算方案门户网站html