需要遍历set以按属性查找不同的对象

时间:2016-11-15 17:15:23

标签: java

我有一套,即

Set<FitmentData> fitmentDataSet;

这个集合有大约5个对象。

public class FitmentData implements Comparable<FitmentData> 
{
private String year;
private String make;
private String model;

}

现在,我需要遍历这个集合并找出这个集合有多少不同的车辆比较年份,品牌和型号。我想通过比较年份,品牌和型号来获得第一个对象并循环设置。有没有更好的方法来解决这个问题?

注意:我的样本装置对象看起来像

new FitementDate("2005", "honda","crv" );
new FitementDate("2005", "honda","crv" );
new FitementDate("2005", "honda","crv" );
new FitementDate("2005", "mazda","cx-5" );
new FitementDate("2005", "subaru","forester" );

1 个答案:

答案 0 :(得分:0)

如评论中所述:“一组不包含重复项”,例如,如果您使用HashSet并正确实施hashCodeequals方法。如果您使用的是TreeSet,则还必须正确实施compareTo方法(并实现Comparable接口)。关于这些方法的实现,请看其他StackOverflow帖子(还有更多):

Set(或任何Collection)的迭代可以使用不同的方法完成:forforeachlambda,...: