初学lambda

lambda是什么

lambda函数是一个如今普遍使用的编程方法, 目的是通过简化函数的格式, 来达到简化代码的目的; 不同编程语言/平台有着不同的写法, 这里主要先学习java/python里的lambda
lambda允许函数被定义时, 不需要命名, 而是像写表达式一样写函数

python

格式

lambda argument_list:experssion

举例

# 写一个lambda函数, 计算列表内元素的平方
map(lambda x: x*x, [y for y in range(10)])

# 使用def来写的话
def sq(x):
    return x*x

map(sq, [y for y in range(10)])

java

格式

(parameters) -> expression

举例

// to sort an array
// original way
Integer[] numbers = {5, 12, 11, 7};
Arrays.sort(numbers, new Comparator<Integer>() {
   public int compare(Integer a, Integer b) {
      return b - a;
   }
});

// with lambda
Integer[] numbers = {5, 12, 11, 7};
Arrays.sort(numbers, (a, b) -> b-a);
System.out.println(Arrays.toString(numbers));

这里使用的是java的Comparator接口, 一般是用来自定义比较大小的规则的
返回负数说明a < b, 返回0说明相等, 返回正数说明a > b
sort函数是通过这些返回的数来判断的

posted @ 2024-01-29 17:21  Akira300000  阅读(3)  评论(0编辑  收藏  举报