lambdaj (集合操作)

http://www.cnblogs.com/jcli/archive/2013/01/09/2851906.html
lambdJ提供了一个DSL的语法去对集合进行相关操作。DSL 就是 Domain specific Language,精髓在「Domain」一词,「领域业务专门语言」,就是特定一个业务领域所专有的语言形式。比如我们所熟悉的SQL语言,就是一门DSL语言,它是专门针对数据库操作的语言。那lambdJ就是一个专门针对「集合」操作的DSL语言。

下面我们就要看下如果使用它:

我们先定义一个类,它将会被我们要操作的集合对象包含。

//初始化一个集体对象

还可以自定义拼接符

select(条件选择)

selectMax,selectMin(最大/最小 对象)

max,min(最大/最小 对象属性值)

maxFrom,minFrom(和max,min功能一样)

sum,sunFrom(求和)

sort(排序)

extract(抽取字段属性组成集合)

index(以某字字段属性为关键值分组)

我这里写的都是很简单的例子,详细的功能介绍请查看官网上的ppt。总之只有你想不到,没有它做不到的集合操作功能。
还有,如果大家在工作中遇到很变态的集合操作而不知道怎么写时(就像很复杂的sql写法时),可以在这里留言我们一起讨论学习下。

一个例子:
http://outofmemory.cn/code-snippet/2961/lambdaj-skeleton-usage-example
测试用Bean类:产品

生产产品的工厂

测试类