JAVA8 实现递归函数
来源:互联网 发布:淘宝怎样关店 编辑:程序博客网 时间:2024/05/26 02:54
JAVA8引入的lambda表达式是为了支持函数式编程,很多传统的编程风格都可以用lambda来进行实现,今天讲一下关于递归函数的实现。
- 传统方式实现递归
以阶乘为例,实现阶乘的递归代码比较简单,如下所示
private static int factorial(int x){if(x == 1 || x==0)return 1;return x*factorial(x-1);}调用这个递归函数,就能实现阶乘功能。
- lambda实现递归
private UnaryOperator<Integer> fact = x->((x==1 || x==0)? 1 : x * this.fact.apply(x-1));
静态成员变量,则需要使用类名来引用fact。整个代码如下所示
import java.util.function.UnaryOperator;public class TestRecursion {public static void main(String[] args) {System.out.println(factorial(5));System.out.println(new TestRecursion().fact.apply(5));System.out.println(factStatic.apply(5));}private static int factorial(int x){if(x == 1 || x==0)return 1;return x*factorial(x-1);}private UnaryOperator<Integer> fact = x->((x==1 || x==0)? 1 : x * this.fact.apply(x-1));private static UnaryOperator<Integer> factStatic = x->((x==1 || x==0)? 1 : x * TestRecursion.factStatic.apply(x-1));}
最后运行结果如图所示
阅读全文
0 0
- JAVA8 实现递归函数
- Java8函数式编程实现一个工厂
- 递归实现itoa函数
- 递归实现strlen函数
- 递归实现strlen函数
- Fibonacci函数递归实现
- 组合函数递归和非递归实现
- 递归和非递归实现规律函数
- JAVA8新特性总结一(接口函数默认实现)
- 利用游标实现递归(函数)
- 递归函数实现二进制数
- 递归函数实现n^k
- Python实现递归函数:汉诺塔
- 递归函数及其R实现
- 递归实现n^k函数
- 递归函数实现倒计时效果
- 递归函数的堆栈实现
- 函数:使用递归实现阶乘
- win7在虚拟机上用Djangodebug模式部署服务器的简要步骤
- Android开发的那些小秘密分享
- 《快学Scala》16章习题参考解答(XML)
- ElasticSearch入门常用查询语句
- 内存
- JAVA8 实现递归函数
- C#学习笔记
- POJ 1143Number Game
- Python set
- 基于WR703N路由器的WIFI机器人
- java多线程与线程同步
- 子弹朝向屏幕准星发射
- 不开辟新空间反转单链表(递归版本)
- 细节补充知识