Java 如何过滤包含对象的单个列表,对象中包含对象?

Java 如何过滤包含对象的单个列表,对象中包含对象?,java,java-stream,Java,Java Stream,我有一个像这样的对象: public class SchoolYear { private static final long serialVersionUID = 1L; @BigInt private long schoolYearID; @ForeignKey(id="CountyID") private County county; } 每个County对象也有一个id,我有一个包含所有学年对象的HashSet集合列表 Collectio

我有一个像这样的对象:

public class SchoolYear {

    private static final long serialVersionUID = 1L;

    @BigInt
    private long schoolYearID;


    @ForeignKey(id="CountyID")
    private County county;
}
每个County对象也有一个id,我有一个包含所有学年对象的HashSet集合列表

Collection<SchoolYear> schoolYears = new HashSet<>();
我正在将每个学年对象添加到学年列表中。但是如果列表中已经有CountyId的学年对象,我希望避免添加学年对象,因此我希望在添加到列表之前进行检查。所以一个学年可以有不同的属性,但是CountyId总是相同的,但是我不希望有多个具有相同CountyId的学年对象。怎么做

或者我可以通过Java流进行过滤?但是怎么做呢

我希望我的解释是好的,否则我可以添加更多的信息,如果需要的话


谢谢你的帮助

沿着这些路线的东西

boolean isSchoolYearPresent = schoolYears.stream()
    .filter(schoolYear -> schoolYear.getCounyId() == newSchoolyear.getCountyId())
    .findAny()
    .isPresent();
if(isSchoolYearPresent){
    //add to the collection
}
一个人应该总是喜欢任何对手。。。过滤镜…findAny.i在性能、可读性等方面表现出来。