如何使用多个过滤器过滤对象列表

时间:2014-06-07 19:36:46

标签: java arrays filter

我有一个要求,我必须在一个流程中使用多个过滤器值过滤List<Objects>。假设:

Class abc{
String name;
String lastName;
String middleName;
}

并过滤firstName == AbhishekfirstName == rajeshfirstName == deepak等值。

过滤此功能的最佳方法是什么?还有一件事,如果我在firstName上应用了过滤器,则会返回过滤列表,如果我想在lastName上应用过滤器,那么过滤器应该与firstName上的现有过滤器一样应在lastName

上应用其他过滤器

2 个答案:

答案 0 :(得分:0)

List<abc> finalList = new ArrayList<abc>();
for(abc singleElement:abcList){
    if(singleElement.getFirstName.equals("Abhishek")){
        finalList.add(singleElement);
    }
}

finalList现在是过滤后的列表。 您可以在finalList上为lastName应用类似的过滤器。

答案 1 :(得分:0)

public void filter(ArrayList<abc> testing, String filterWord) {
    for (abc elem : testing) {
        if (elem.name.equals(filterWord))
            testing.remove(elem);
        if (elem.lastName.equals(filterWord))
            testing.remove(elem);
        if (elem.middleName.equals(filterWord))
            testing.remove(elem);
    }