java如何按专辑中曲目的数量过滤这些歌曲
我有下一节课
public class Track{
private int id;
private String trackName;
private String artistName;
private String albumName;
private int amountMembers;
private int duration; //segs
private String category;
private int albumYear;
private boolean isSolist; //1 yes, 0 no
}
我的列表中有很多Track
,我想根据两个要求过滤曲目:
- 如果类别等于“摇滚”
- 如果曲目属于少于9首曲目的专辑
首先,这很简单,我目前有一个列表中的曲目按类别“rock”过滤,但我无法想象我如何能做一个功能,过滤并返回专辑中少于9首歌曲的曲目。有解决办法吗?我在使用Java,我可以使用Streams或Lambdas?。重要提示:我的数据库中有一个简单的曲目列表
# 1 楼答案
你可以在逻辑上使用lambda
我建议您已经从数据库中筛选出更好的性能
# 2 楼答案
尚未正确测试,但您可以尝试以下方法:
如果它可以工作,并且是您所需要的,那么您也可以尝试为listOfTracks添加一个变量。stream()。collect(Collectors.groupingBy(Track::getCategory,Collectors.counting()))