我想排序Set<TailleDetail>
其字符串属性(mesure
)之一,但唯一的解决方案,我在互联网上(TreeSet
和Comparator
)看到不工作,你能帮帮我吗?序集<Object>通过属性字符串
我的类:
public class TailleDetail {
private Integer id;
private String sexe;
private String mesure;
private Taille Taille;
}
编辑 -
对于TreeSet的我只是试试这个:
Set<TailleDetail> tailles = new TreeSet<TailleDetail>();
到remplace:
Set<TailleDetail> tailles = new HashSet<TailleDetail>();
和比较我试试这个:
Set<TailleDetail> tailles = new HashSet<TailleDetail>();
Comparator<TailleDetail> comparatorTaille = new Comparator<TailleDetail>() {
@Override
public int compare(TailleDetail left, TailleDetail right) {
return left.toString().compareToIgnoreCase(right.toString());
}
};
List<TailleDetail> tai = tailleDetailViewManager.search(param, true);
Collections.sort(tai, comparatorTaille);
tailles = new HashSet<TailleDetail>(tai);
添加您TreeSet的 – stinepike
问题寻求调试帮助试图代码(“为什么”不是个这个代码是否工作?“)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:如何创建[mcve]。 –
这是将所有东西都拧紧的行:'tailles = new HashSet(tai);' - HashSet没有可以依赖的排序,它肯定不会保留列表的顺序用于填充它。使用LinkedHashSet可以工作 - 但这仍然是一个坏主意。相反,将比较器的实例传递给构造器TreeSet构造函数。 –