如何使用另一个String数组过滤模型对象数组列表

时间:2017-08-13 18:13:42

标签: java android arraylist

如何使用另一个String数组列表过滤模型对象数组列表

我的模型对象是

class City {
    String id;
    String cat_id;
    String city_id;
    String title_en;
}

我有城市对象列表List<City> events;

我想用另一个字符串数组

过滤events
List<String> city_ids = {2,12,24,25};
List<String> cat_ids = {301,386,303,346};

我只希望在这些City数组中city_idcat_id的{​​{1}}个对象。如何使用这些字符串列表过滤数组列表。

这是我的版本。我该如何改进呢?

String

1 个答案:

答案 0 :(得分:1)

有很多方法。一种使用java流的方法:

List<City> filteredCities = events.stream()
    .filter(c -> city_ids.contains(c.city_id) && cat_ids.contains(c.cat_id))
    .collect(Collectors.toList()):