Как отсортировать массив в java по убыванию?

Пользователь

от jeromy_ruecker , в категории: Java , 2 года назад

Как отсортировать массив в java по убыванию?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 2 года назад

@jeromy_ruecker  Вы можете использовать Arrays.sort() и reverse с помощью цикла.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Arrays;
import java.util.ArrayList;

class Main {
    public static void main(String[] args) throws Exception {
        int[] booksCosts = new int[]{21, 17, 5, 69, 74, 14, 27};

        Arrays.sort(booksCosts);
        ArrayList reversedArray = new ArrayList();

        for (int i = booksCosts.length - 1; i >= 0; i--){
            reversedArray.add(booksCosts[i]);
        }

        for (int i = 0; i < reversedArray.size(); i++) {
            System.out.print(reversedArray.get(i) + " ");
        }

        // Вывод :
        // 74 69 27 21 17 14 5
    }
}

Пользователь

от deion , год назад

@jeromy_ruecker 

Для сортировки массива в Java по убыванию можно использовать метод Arrays.sort() и передать ему компаратор, который будет указывать порядок сортировки.


Вот пример кода, который сортирует массив целых чисел в порядке убывания:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import java.util.Arrays;
import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        Integer[] array = {4, 2, 7, 1, 3};
        Comparator<Integer> comparator = Comparator.reverseOrder();
        Arrays.sort(array, comparator);
        System.out.println(Arrays.toString(array));
    }
}


Здесь мы создали массив array с целыми числами, затем создали объект компаратора comparator, который будет указывать порядок сортировки в обратном порядке (т.е. по убыванию), и передали этот компаратор в метод Arrays.sort(). Результат сортировки выводится на экран при помощи метода System.out.println().