如何使用另一个字符串数组列表过滤模型对象数组列表
我的模型对象是
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_id
和 的对象。如何使用这些字符串列表过滤数组列表。cat_id
String
这是我的版本。我该如何改进
List<City> filtered_events = new ArrayList<>();
if (filtered_categories.size() > 0) {
for (String c : filtered_categories) {
for (City city: events) {
if (c.equalsIgnoreCase(city.getCat_id())) {
filtered_events.add(city);
}
}
}
}
if (filtered_cities.size() > 0) {
for (String c : filtered_cities) {
for (City city: events) {
if (c.equalsIgnoreCase(city.getCity_id())) {
filtered_events.add(city);
}
}
}
}
有很多方法。java流的一种方法:
List<City> filteredCities = events.stream()
.filter(c -> city_ids.contains(c.city_id) && cat_ids.contains(c.cat_id))
.collect(Collectors.toList()):
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句