0
У меня есть класс, называемый x, который является списком массивов и нуждается в сортировке в порядке уменьшения по значению. Мои class-sort custom Array List
public static class x
{
public int id;
public double value;
public x(int _id, double _value)
{
id = _id;
value = _value;
//System.out.println(Integer.toString(id));
}
public Integer getID(){
return id;
}
public double getValue(){
return value;
}
//Sorting
public static Comparator<x> getComparator(SortParameter... sortParameters) {
return new xComparator(sortParameters);
}
public enum SortParameter {
VAL_DESCENDING
}
private static class xComparator implements Comparator<x> {
private SortParameter[] parameters;
private xComparator(SortParameter[] parameters) {
this.parameters = parameters;
}
public int compare(x o1, x o2) {
int comparison;
for (SortParameter parameter : parameters) {
switch (parameter) {
case VAL_DESCENDING:
comparison = o2.id - o1.id;
if (comparison != 0) return comparison;
break;
}
}
return 0;
}
}
}
Я Называйте это нравится:
cp = x.getComparator(x.SortParameter.VAL_DESCENDING);
Collections.sort(attr1, cp);
attr1
мой список массива
Просто для справки я следую this
Я получаю сообщение об ошибке:
cannot find symbol : variable cp
Я новичок в java :(
Вы не указали 'cp' нигде. –
@cloudYturtle: показать, где вы указали переменную cp. – ankurtr
'Компаратор cp = x.getComparator (x.SortParameter.VAL_DESCENDING); Collections.sort (attr1, cp); ' –
Zac