从ARRAYLIST WITHOUT LOOP - ANDROID中选择对象

时间:2013-10-05 12:50:28

标签: java android lambdaj

我正在寻找一个可以从ArrayList中选择对象的库,比如SQL“where”命令。

我的项目中有大量的arraylists(2000到20000之间),我不想写,而每次都循环..

我发现了lambdaj,它适用于Java。

我试图在我的Android项目中使用lambdaj,但我无法做到。

例如我写的时候                                                                                           List<Sale> sortedSales = sort(sales, on(Sale.class).getCost());
  在我的项目中的这个示例代码中,eclipse看不到“sort”,“on”命令..

是否有另一个像lambdaj这样的库或任何人都可以告诉我如何在我的android项目中使用lambdaj?

谢谢..

3 个答案:

答案 0 :(得分:1)

Guava库比lambdaj更受欢迎,并允许您使用preficates和filter方法进行循环avoid

答案 1 :(得分:0)

如果要选择与条件匹配的元素(或匹配的元素),请使用Java 8过滤器函数。 (不再需要使用其他库)。

这样做:

List<Foo> listOfFoo = ...
Stream<Foo> matchingFoo = listOfFoo.stream().filter(t -> t.propertyOrMethod == 'criteria');

答案 2 :(得分:0)

如果你可以使用xpresso,你可以写:

list<Sale> sortedSales = x.list(x.sorted(sales, x.invoke("getCost")));

(我是xpresso的作者)