我有一個objects
的列表,我想根據name
進行排序。我已經完成了編碼,它在name
的基礎上進行排序,但我有一個不同的要求。Java:使用比較器對對象列表進行排序,並使用屬性的第二個字
的名稱是例如,我有使用下面的代碼當前排序:
Bull AMP
Cat DEF
Dog AMP
Frog STR
Zebra DEF
但我想排序第二字的名稱的基礎上的名字。基本上list
應該是這樣的:
Bull AMP
Dog AMP
Cat DEF
Zebra DEF
Frog STR
下面是我的代碼:
對象類:
public class AnimalData implements Serializable
{
private static final long serialVersionUID = 3952396152688462601L;
public String name;
public long age;
private String animal;
private String animalParts;
private String animalType;
}
比較級
public class AnimalDataComparer implements Comparator<AnimalData>
{
@Override
public int compare(final AnimalData object1, final AnimalData object2)
{
return object1.getName().compareTo(object2.getName());
}
}
排序使用集合
private List<AnimalData> AnimalDataList;
Collections.sort(AnimalDataList, AnimalDataComparer);
你的equals方法也需要代表行爲。 –
什麼是AMP,DEF等字段? –
還是那些sufixes字段字符串名稱的一部分? –