Java8之前,如果想根据map的value值来排序话,比较繁琐参看如何将HashMap,按照value值排序
现在借助于lambda表达式,就方便多了。
Map map=new HashMap<>();
map.put("derek",24 );
map.put("dad", 51);
map.put("mom", 46);
List> list=new ArrayList...
分类:
其他好文 时间:
2015-02-22 23:07:08
阅读次数:
1172
??
练习2.51
通过书中前面的内容,我们知道below中来将框架分成上下两部分,而beside将框架分成左右两部分。因此,below定义如下:
(define (below painter1 painter2)
(let ((split-point (make-vect 0.0 0.5)))
(let ((paint-top (transform-p...
分类:
其他好文 时间:
2015-02-22 14:36:27
阅读次数:
117
chapter 4 自省, summary: # 用可选和命名参数定义和调用函数 # 用 str 强制转换任意值为字符串形式 # 用 getattr 动态得到函数和其它属性的引用 # 扩展列表解析语法实现列表过滤 # 识别 andor 技巧并安全地使用它 # 定义 lambda 函数 ...
分类:
编程语言 时间:
2015-02-20 21:58:59
阅读次数:
277
java8的新特性lambda表达式,文章翻译自java官网文档...
分类:
编程语言 时间:
2015-02-20 18:38:57
阅读次数:
1153
前面的文章介绍过,C# 1.0中出现委托这个核心概念,在C# 2.0中,委托得到了很大的改进。C# 2.0中委托的改进为C# 3.0中的新特性提供了铺垫,当我们了解了匿名方法后,Lambda的学习就会变得相对容易。下面就看看C# 2.0中委托的改进。方法组转换在C# 1.0中,如果要创建一个委托实例...
分类:
其他好文 时间:
2015-02-17 23:31:37
阅读次数:
234
??
练习1.42
这道题让我彻底爱上了lambda。
复合这一概念早在数学中便已经学过了,我们先来根据题目的意思写出能够平方和能够加一这两个过程。可能是因为我看书不认真吧,写了很多次才完成这两个过程。
一开始我都是以(define (inc f)......)来开始的,但是每次都没有返回结果。终于醒悟了,过程嘛,就是像前面第41最下面所讲的一种关联那样,我们是要将一个la...
分类:
其他好文 时间:
2015-02-17 22:26:10
阅读次数:
188
??
练习1.44
相信如果大家认真做了前面的几道习题,这一题就比较简单了。smooth过程几乎可以直接写出:
(define smooth
(lambda (f)
(lambda (x)
(/ (+ (f (- x dx))
(f x)
(f (+ x dx)))
...
分类:
其他好文 时间:
2015-02-17 22:25:10
阅读次数:
199
练习1.40(未看懂题目意思)
首先根据公式x^3+ax^2+bx+c写出相应的cubic过程,它的返回值是一个接受参数x的过程:
(define (cubic a b c)
(lambda (x)
(+ (cube x)
(* a (square x))...
分类:
其他好文 时间:
2015-02-17 21:06:37
阅读次数:
174
练习1.41
对于这道题一开始我的做法是在lambda内嵌套一个lambda,如下:
(define (double a)
(lambda (x)
(lambda (x)
(+ x 1))))
错误原因未知。
对于一个接受单个参数x的函数f来说,要将它应用多一次的办法是执行以下表达式:
(f (f a))...
分类:
其他好文 时间:
2015-02-17 21:06:27
阅读次数:
146