我有这个方法 public ArrayList<Rentals> search(String t)
,它是管理电影租赁列表的类的一部分。根据作为显式参数传递的字符串,该方法必须返回标题中包含该字符串的所有电影。该方法进行搜索,但我不知道如何取回包含名称中包含该字符串的所有电影的子列表。
答案 0 :(得分:1)
for-each
循环迭代输入列表,匹配电影标题以包含搜索词,如果匹配则添加到结果列表中。然后返回列表。List<Rentals> mainList = new ArrayList<>(); // populated somewhere else
public List<Rentals> search(String title) {
List<Rentals> subList = new ArrayList<>();
for (Rentals rental : mainList) {
if (rental.getTitle().contains(title)) { // the simplest search
subList.add(rental);
}
}
return subList;
}
List<Rentals>
可以转换为 Stream<Rentals>
,然后由条件过滤,结果以更简洁的方式收集到一个新列表中:public List<Rentals> search(String title) {
return mainList.stream()
.filter(rental -> rental.getTitle().contains(title))
.collect(Collectors.toList());
}