1 added
2 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Отдельным пунктом в работе с коллекциями стоит сортировка. В отличие от собеседований, где просят реализовать разные виды сортировки для проверки алгоритмических навыков, в реальной жизни сортировку самостоятельно не реализуют. В Java встроены все необходимые элементы для реализации сортировок любой сложности.</p>
1
<p>Отдельным пунктом в работе с коллекциями стоит сортировка. В отличие от собеседований, где просят реализовать разные виды сортировки для проверки алгоритмических навыков, в реальной жизни сортировку самостоятельно не реализуют. В Java встроены все необходимые элементы для реализации сортировок любой сложности.</p>
2
<h2>Простая сортировка</h2>
2
<h2>Простая сортировка</h2>
3
<p>Самый простой способ отсортировать коллекцию по возрастанию - это воспользоваться методом Collections.sort(). Этот метод принимает на вход коллекцию и меняет ее напрямую.</p>
3
<p>Самый простой способ отсортировать коллекцию по возрастанию - это воспользоваться методом Collections.sort(). Этот метод принимает на вход коллекцию и меняет ее напрямую.</p>
4
<p>Эта сортировка работает с примитивными типами и сортирует значения с учетом естественного порядка по возрастанию. Под естественным порядком понимается движение от меньшего числа к большему. В случае строк это сортировка в лексиграфическом порядке, который в большинстве случаев совпадает с алфавитным порядком.</p>
4
<p>Эта сортировка работает с примитивными типами и сортирует значения с учетом естественного порядка по возрастанию. Под естественным порядком понимается движение от меньшего числа к большему. В случае строк это сортировка в лексиграфическом порядке, который в большинстве случаев совпадает с алфавитным порядком.</p>
5
<h2>Сортировка по условию</h2>
5
<h2>Сортировка по условию</h2>
6
<p>Сортировка может быть не только в прямом порядке, но и обратном. Кроме того, нам могут понадобиться разные условия сортировки, например без учета регистра, по какому-то конкретному свойству объекта и так далее. Для реализации подобных сортировок в Collections добавлен метод sort() с двумя параметрами. Второй параметр нужен для передачи Comparator, объект, который определяет то, как выполняется сравнение элементов. Вот как с его помощью выполняется обратная сортировка:</p>
6
<p>Сортировка может быть не только в прямом порядке, но и обратном. Кроме того, нам могут понадобиться разные условия сортировки, например без учета регистра, по какому-то конкретному свойству объекта и так далее. Для реализации подобных сортировок в Collections добавлен метод sort() с двумя параметрами. Второй параметр нужен для передачи Comparator, объект, который определяет то, как выполняется сравнение элементов. Вот как с его помощью выполняется обратная сортировка:</p>
7
<p>А вот сортировка без учета регистра:</p>
7
<p>А вот сортировка без учета регистра:</p>
8
<h2>Сортировка объектов</h2>
8
<h2>Сортировка объектов</h2>
9
<p>Для сортировки объектов нужно явно указывать то как выполнять сортировку, так как, в отличии, от тех же чисел, не существует универсального способа сортировки объектов. Например, пользователей на сайте можно выводить по возрасту, по дате регистрации или количеству пройденных курсов.</p>
9
<p>Для сортировки объектов нужно явно указывать то как выполнять сортировку, так как, в отличии, от тех же чисел, не существует универсального способа сортировки объектов. Например, пользователей на сайте можно выводить по возрасту, по дате регистрации или количеству пройденных курсов.</p>
10
<p>Java предоставляет удобный способ выполнять такую сортировку с помощью лямбда-функций. На текущий момент мы их еще не изучали, поэтому код здесь дается просто для примера, подробно про него мы поговорим в следующих курсах.</p>
10
<p>Java предоставляет удобный способ выполнять такую сортировку с помощью лямбда-функций. На текущий момент мы их еще не изучали, поэтому код здесь дается просто для примера, подробно про него мы поговорим в следующих курсах.</p>
11
-
<p>Для более глубокого понимания темы мы рекомендуем просмотреть видео лекцию, которая является дополнительным материалом к данному курсу:</p>
11
+
<p>Для более глубокого понимания темы мы рекомендуем просмотреть дополнительные материалы к данному курсу.</p>
12
-
<p>!vimeo!(783303716)</p>