Hallo,
da ich sehr stark abwärts kompatibel bleiben will mit der Api, hätte ich mal eine Frage, wie man eine ArrayList mit 2 Werten sortiert.
Also er soll erst nach id sortieren und dann nach Namen. z.b.
0 A
1 Aa
2 Ab
3 B
4 Ba
...
Wie ich nach ID sortiere weiß und nach Name auch, aber wie geht das gleichzeitig.
static class UebungenSort {
int mid;
String mname;
UebungenSort(int id, String name) {
mid = id;
mname = name;
}
String getName() {
return mname;
}
int getID() {
return mid;
}
public static Comparator<UebungenSort> UebungComparator = new Comparator<UebungenSort>() {
public int compare(UebungenSort s1, UebungenSort s2) {
String Uebungname1 = s1.getName().toUpperCase();
String Uebungname2 = s2.getName().toUpperCase();
//ascending order
return Uebungname1.compareTo(Uebungname2);
//descending order
//return StudentName2.compareTo(StudentName1);
}
};
public static Comparator<UebungenSort> IDComperator = new Comparator<UebungenSort>() {
public int compare(UebungenSort s1, UebungenSort s2) {
int id1 = s1.getID();
int id2 = s2.getID();
/*For ascending order*/
return id1 - id2;
/*For descending order*/
//rollno2-rollno1;
}
};
}
....
Collections.sort(uebungsort, UebungenSort.UebungComparator);
Collections.sort(uebungsort, UebungenSort.IDComperator );
da ich sehr stark abwärts kompatibel bleiben will mit der Api, hätte ich mal eine Frage, wie man eine ArrayList mit 2 Werten sortiert.
Also er soll erst nach id sortieren und dann nach Namen. z.b.
0 A
1 Aa
2 Ab
3 B
4 Ba
...
Wie ich nach ID sortiere weiß und nach Name auch, aber wie geht das gleichzeitig.
static class UebungenSort {
int mid;
String mname;
UebungenSort(int id, String name) {
mid = id;
mname = name;
}
String getName() {
return mname;
}
int getID() {
return mid;
}
public static Comparator<UebungenSort> UebungComparator = new Comparator<UebungenSort>() {
public int compare(UebungenSort s1, UebungenSort s2) {
String Uebungname1 = s1.getName().toUpperCase();
String Uebungname2 = s2.getName().toUpperCase();
//ascending order
return Uebungname1.compareTo(Uebungname2);
//descending order
//return StudentName2.compareTo(StudentName1);
}
};
public static Comparator<UebungenSort> IDComperator = new Comparator<UebungenSort>() {
public int compare(UebungenSort s1, UebungenSort s2) {
int id1 = s1.getID();
int id2 = s2.getID();
/*For ascending order*/
return id1 - id2;
/*For descending order*/
//rollno2-rollno1;
}
};
}
....
Collections.sort(uebungsort, UebungenSort.UebungComparator);
Collections.sort(uebungsort, UebungenSort.IDComperator );