如何按促销价格过滤对象列表

时间:2016-03-02 12:26:45

标签: java

如果我有与metadatas相关的产品列表,如价格,促销等,我如何过滤说明。我将如何根据促销的价格范围进行过滤...

public class Products {
    private String name;
    private int weight;
    private String promotion;
    private String nutrition;
    private int price;
    //constructor ,, getter, setters
}

我会将产品列表传递给arraylist,并希望按价格或促销进行过滤,并且只显示符合该条件的产品。

2 个答案:

答案 0 :(得分:3)

如果您正在使用Java8,则可以使用Streams API创建从现有列表中过滤的新列表。假设您在名为list的变量中有一个ProductsList的ArrayList,而您只想要价格等于30的那个,那么它看起来就像这样......

final List<Prouduct> filtered = list.stream()
                                    .filter((elt) -> elt.getPrice() == 30)
                                    .collect(Collectors.toList())

答案 1 :(得分:0)

修改 您还必须将变量的访问修改器从私有更改为公共。

您必须迭代数组中的每个对象,并检查值是否与过滤器匹配

示例:

int filter=10;
for(int x=0;x<array.length;x++){
if(array[x].weight==filter){
System.out.println(array[x].name);
}
}

其中array是产品类

的对象数组