1
我正在排序在arreyList使用比較器類obects和我是 得到排序對象,如果低於如何根據用戶使用arrylist定義排序來對類對象進行排序?根據由比較器的名稱<br> 源按字母順序
public static Comparator<SortingObjects StuNameComparator = new Comparator<SortingObjects() {
public int compare(SortingObjects s1, SortingObjects s2) {
String StudentName1 = s1.getName().toUpperCase();
String StudentName2 = s2.getName().toUpperCase();
int c;
c = StudentName1.compareTo(StudentName2);
if(c==0){
int rollno1 = s1.getPrice();
int rollno2 = s2.getPrice();
c = rollno1-rollno2;
}
return c;
}};
及其給出導致像:
Student Name Sorting:
[ name=AP, price =0]
[ name=AP, price =0]
[ name=AP, price =0]
[ name=AP, price =0]
[ name=CH, price =0]
[ name=CH, price =0]
[ name=CH, price =0]
[ name=CH, price =0]
[ name=KE, price =0]
[ name=KE, price =0]
[ name=TN, price =0]
但我想輸出像:
[ name=CH, price =3]
[ name=CH, price =10]
[ name=AP, price =2]
[ name=AP, price =2]
[ name=AP, price =7]
[ name=AP, price =10]
[ name=TN, price =15]
[ name=KE, price =2]
[ name=KE, price =5]
這意味着:「CH」是第一位的,然後「AP」後「TN」,最後
「KE」有什麼辦法來實現比較方法,以便我能得到 結果通過自己限定訂購
您的問題似乎是在'SortingObject'類,而不是比較本身,因爲輸出只顯示'價格= 0'。你可能想要爲我們添加這個類,以便找到問題。 – SomeJavaGuy
只有名稱或價格,沒有辦法像你想要的那樣排序,因爲它不遵循任何順序。 – dambros
您正在尋找什麼類型的訂購?你的問題沒有定義任何順序。 – Sanjeev