Android 从ArrayList中过滤出对象<;对象>;基于对象字段?

Android 从ArrayList中过滤出对象<;对象>;基于对象字段?,android,Android,我正在寻找一种简单的方法,而不是针对循环的/,用于根据包含唯一值的对象从ArrayList中筛选出一组对象 例如,我将对象列表作为 [Status [status=new], Status [status=closed], Status [status=new], Status [status=closed], Status [status=new], Status [status=closed], Status [status=new], Status [status=closed], Sta

我正在寻找一种简单的方法,而不是针对循环的
/
,用于根据包含唯一值的对象从
ArrayList
中筛选出一组对象

例如,我将对象列表作为

[Status [status=new], Status [status=closed], Status [status=new], Status [status=closed], Status [status=new], Status [status=closed], Status [status=new], Status [status=closed], Status [status=new], Status [status=closed]].

我需要将状态值为“new”
的对象放入一个列表中进行比较。不需要已关闭的对象。编写更少可读代码以过滤集合的唯一方法是使用java 8 lambda表达式

不幸的是,Android仍然不支持java8,但是……您可以使用。 如果你需要使用流API,你可以试试这个插件。(retrolambda不支持Stram API)

在这种情况下:

List<Person> newList = Stream.of(personList).filter(p -> p.getAge() > 18).collect(Collectors.toList());
List newList=Stream.of(personList).filter(p->p.getAge()>18).collect(collector.toList());

编写更少可读代码以过滤集合的唯一方法是使用java 8 lambda表达式

不幸的是,Android仍然不支持java8,但是……您可以使用。 如果你需要使用流API,你可以试试这个插件。(retrolambda不支持Stram API)

在这种情况下:

List<Person> newList = Stream.of(personList).filter(p -> p.getAge() > 18).collect(Collectors.toList());
List newList=Stream.of(personList).filter(p->p.getAge()>18).collect(collector.toList());

发布一些您所做工作的代码。请更好地解释你自己。用Set而不是ArrayListPost写一些你所做的代码。请更好地解释自己。使用Set而不是arraylist p从何处来的内部过滤器(p->..)?在语句
filter(p->p.getAge()>18)
p实际上声明了它自己p从何处来的内部过滤器(p->..)?在语句
filter(p->p.getAge()>18)
p实际上声明了它自己