Как отсортировать массив чисел в Java?

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

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

Как отсортировать массив чисел в Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@fred Используйте Arrays.sort() методы чтобы отсортировать массив чисел по убыванию или возрастанию в Java, небольшой пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import java.util.Arrays;
import java.util.Collections;

public class Main {
    public static void main(String args[]) {
        Integer[] arr = new Integer[]{25, 35, 1, 5, 11};
        // отсортировать массив чисел по возрастанию
        Arrays.sort(arr);
        // Вывод: [1, 5, 11, 25, 35]
        System.out.println(Arrays.asList(arr));

        // отсортировать массив чисел по убыванию
        Arrays.sort(arr, Collections.reverseOrder());
        // Вывод: [35, 25, 11, 5, 1]
        System.out.println(Arrays.asList(arr));
    }
}


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

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

от hobart.rath , 2 года назад

@fred 

В Java есть несколько способов отсортировать массив чисел:

  1. Метод sort() из класса Arrays:
1
2
int[] numbers = {3, 1, 4, 1, 5, 9, 2, 6, 5};
Arrays.sort(numbers);


  1. Сортировка с использованием цикла:
1
2
3
4
5
6
7
8
9
for (int i = 0; i < numbers.length; i++) {
    for (int j = 0; j < numbers.length - 1; j++) {
        if (numbers[j] > numbers[j + 1]) {
            int temp = numbers[j];
            numbers[j] = numbers[j + 1];
            numbers[j + 1] = temp;
        }
    }
}


  1. Сортировка с использованием стримов:
1
2
3
Arrays.stream(numbers)
    .sorted()
    .toArray();


  1. Сортировка с использованием стримов и компаратора
1
2
3
4
5
Arrays.stream(numbers)
    .boxed()
    .sorted(Collections.reverseOrder())
    .mapToInt(Integer::intValue)
    .toArray();


Вы можете выбрать наиболее подходящий для вашей задачи метод.