Data structures 使用Guava库从数组列表获取未筛选项
我可以使用下面的函数根据我的过滤条件获取所有项目,但我还需要未过滤的项目列表,我的意思是说isGroup为true的项目我可以轻松获取,但无法获取isGroup为true的项目,我不想为同一任务使用其他过滤器,是否有任何内置函数Data structures 使用Guava库从数组列表获取未筛选项,data-structures,collections,guava,Data Structures,Collections,Guava,我可以使用下面的函数根据我的过滤条件获取所有项目,但我还需要未过滤的项目列表,我的意思是说isGroup为true的项目我可以轻松获取,但无法获取isGroup为true的项目,我不想为同一任务使用其他过滤器,是否有任何内置函数 final Collection nonGroupItems= Collections2.filter(rosterList, new Predicate<Roster>() { @Override pub
final Collection nonGroupItems= Collections2.filter(rosterList, new Predicate<Roster>() {
@Override
public boolean apply(Roster input) {
return ! input.getIsGroup();
}
});
final Collection nonGroupItems=Collections2.filter(名册列表,新谓词(){
@凌驾
公共布尔应用(花名册输入){
return!input.getIsGroup();
}
});
是。您可以使用某个键(在本例中是通过isGroup
)对值进行索引/分组/分区。然后,您可以访问每个值列表:一个列表用于isGroup
返回true
的值,另一个列表用于isGroup
返回false
的值
e、 g:
final ImmutableListMultimap rostersByIsGroup=Multimaps.index(名册列表,
新函数(){
@凌驾
公共布尔应用(花名册输入){
返回input.getIsGroup();
}
});
final-ImmutableList-groupItems=rostersByIsGroup.get(true);
final ImmutableList nonGroupItems=rostersByIsGroup.get(false);
如果您使用Java 8:
final ImmutableListMultimap rostersByIsGroup=Multimaps.index(名册列表,
名册:getIsGroup);
final-ImmutableList-groupItems=rostersByIsGroup.get(true);
final ImmutableList nonGroupItems=rostersByIsGroup.get(false);