Сортировка списка на основе значений другого списка - Java

Один список с именами: (несортированный) например [пол, фол, отметка]

Другой список с целыми числами: например, [5, 2, 6]

Значения во втором списке - это числа, "выбранные" каждым человеком (именем), поэтому У Павла номер 5, номер фола - 2, номер метки - 6.

Я пытаюсь отсортировать список имен по значениям второго списка в порядке убывания. Я не могу использовать карту, так как мне нужны оба списка в других случаях в моей программе.

С помощью метода сортировки, который я сделал , я получил список вроде этого: [paul, mark, foul]

Как видите, он не отсортирован так, как я хотел бы.

] правильным будет: [отметка, пол, нарушение]

Но я не могу найти ошибку в коде.

public ArrayList<String> sortNames(ArrayList<Integer> results){
    String tmp;
    for (int k=0; k<Names.size()-1; k++) {

        boolean isSorted=true;
        for (int i=1; i<Names.size()-k; i++) {

             if (results.get(i)>results.get(i-1)  ) {

                tmp=Names.get(i);
                Names.set(i,Names.get(i-1));
                Names.set(i-1,tmp);

                isSorted=false;
            }
        }
        if (isSorted) break;
    }
    return Names;

}

РЕДАКТИРОВАТЬ !!! с помощью приведенных ниже ответов можно получить следующий код:

    public ArrayList<String> sortNames(ArrayList<Integer> results){
        String tmp2;
        int tmp;
        for (int k=0; k<Names.size()-1; k++) {

            boolean isSorted=true;
            for (int i=1; i<Names.size()-k; i++) {

                 if (results.get(i)>results.get(i-1)  ) {
                     tmp=results.get(i);
                     results.set(i,results.get(i-1));
                     results.set(i-1,tmp);


                    tmp2=Names.get(i);
                    Names.set(i,Names.get(i-1));
                    Names.set(i-1,tmp2);

                    isSorted=false;
                }
            }
            if (isSorted) break;
        }
    return Names;

}

Этот код работает правильно (для небольших списков) Я только спросил, почему он не работает для таких объектов, как ImageIcon. Есть идеи?

5
задан FILIaS 30 January 2011 в 00:53
поделиться