我有一個我想使用不同屬性進行排序的對象列表。我想在兩個不同的參數上使用Collections.sort()兩次
@Override
public int compareTo(Object obj)
{
Field tab = (Field) obj;
int objx = Integer.parseInt(tab.getX());
// int objy = Integer.parseInt(tab.getY());
int classX = Integer.parseInt(this.X);
if (classX == objx)
return 0;
else if (classX > objx)
return 1;
else
return -1;
}
我到目前爲止有:
Collections.sort(list1); // But using property1 to sort
Collections.sort(list1); // But using property2 to sort
所以,在第一種情況下我可以在使用property1進行排序,但如何使用property2排序? 我試圖用不同的參數排序,但compareTo()
只接受一個。
你的意思是說我必須創建一個包含兩個不同比較器的不同類 – SOP
如果你願意,你可以使用匿名類。 – Rodolfo