JavaRush /Java блог /Random UA /Кава-брейк #136. Сортування масиву в порядку зростання аб...

Кава-брейк #136. Сортування масиву в порядку зростання або зменшення за допомогою Arrays.sort(). У чому різниця між інтерфейсами List та Set?

Стаття з групи Random UA

Сортування масиву в порядку зростання або зменшення за допомогою Arrays.sort()

Джерело: FreeCodeCamp Завдяки цій публікації ви дізнаєтеся способи сортування масиву в Java за зростанням або зменшенням. Кава-брейк #136.  Сортування масиву в порядку зростання або зменшення за допомогою Arrays.sort().  У чому різниця між інтерфейсами List та Set?  - 1У Java ми використовуємо масиви для зберігання набору змінних (з однаковим типом даних) в одній змінній. Але іноді значення, що зберігаються у масиві, з'являються у випадковому порядку. Завдяки класу Arrays в Java у нас є кілька способів керування масивами, зокрема їх сортування. Один з методів, які ми будемо використовувати з класу Arrays , - це метод sort() , який сортує масив у порядку зростання. Для сортування масиву в порядку зменшення використовується метод reverseOrder() класу Collections в Java.

Як відсортувати масив у порядку зростання в Java за допомогою Arrays.sort()

Ось приклад того, як ми можемо використовувати метод sort() для сортування масиву у порядку зростання.
import java.util.Arrays;

class ArraySort {
    public static void main(String[] args) {
        int[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr);

        for (int values : arr) {
            System.out.print(values + ", ");
            // 1, 2, 5, 8, 10,
        }
    }
}
Перше, що ми зробабо в наведеному вище прикладі, це імпортували клас Arrays : import java.util.Arrays; . Так ми отримали доступ до всіх методів класу Arrays . Потім ми створабо масив з числами випадковому порядку: int[] arr = { 5, 2, 1, 8, 10 }; . Щоб відсортувати цей масив у порядку зростання, ми передали масив як параметр методу sort() : Arrays.sort(arr); . Зверніть увагу, що клас Arrays написаний першим перед доступом до методу sort() за допомогою запису через точку. Нарешті ми створабо цикл і надрукували масив у консолі. В результаті вийшов відсортований масив: 1, 2, 5, 8, 10. А зараз давайте поговоримо про сортування масиву за спаданням.

Як відсортувати масив за зменшенням на Java за допомогою Collections.reverseOrder()

Щоб відсортувати масив у порядку зменшення, слід використовувати reverseOrder() , до якого можна отримати доступ із класу Collections . Ми, як і раніше, будемо використовувати Arrays.sort(); , але в цьому прикладі він прийматиме два параметри - масив для сортування і Collections.reverseOrder() .
import java.util.Arrays;
import java.util.Collections;

class ArraySort {
    public static void main(String[] args) {
        Integer[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr, Collections.reverseOrder());

        for (int values : arr) {
            System.out.print(values + ", ");
            // 10, 8, 5, 2, 1,
        }
    }
}
Насамперед ми імпортували класи Arrays і Collections , тому що ми будемо використовувати методи, що надаються цими класами. Потім ми створабо масив чисел у випадковому порядку: Integer[] arr = {5, 2, 1, 8, 10}; . Як можна побачити, ми використовували Integer[] замість int[] , як у попередньому прикладі. Інакше виникне помилка. Щоб відсортувати масив за спаданням, ми зробабо так: Arrays.sort(arr, Collections.reverseOrder()); . Перший параметр - це масив arr , який буде відсортований у порядку зростання. Другий параметр - Collections.reverseOrder()потім змінить порядок відсортованого масиву, щоб він розташовувався в порядку зменшення. При циклічному перегляді та друку масив виглядатиме так: 10, 8, 5, 2, 1 .

Висновок

У цій статті ми обговорабо сортування масивів у Java - як їх можна сортувати за зростанням або зменшенням. Для цього ми можемо використовувати метод sort() , до якого можна отримати доступ із класу Arrays . Метод sort() приймає масив для сортування як параметр. Щоб відсортувати масив у порядку зменшення, ми використовували метод reverseOrder() , що надається класом Collections. Він передається в якості другого параметра метод sort() , щоб відсортований масив можна було переупорядкувати в порядку зменшення.

Java Collection. У чому різниця між інтерфейсами List та Set?

Джерело: Rrtutors List та Set є інтерфейсами Java для розширення інтерфейсу Collection . У цій публікації ми розглянемо ключові різницю між ними, а також варіанти їх застосування.

Відмінності між інтерфейсами Set і List Java

Давайте визначимо ключові відмінності між інтерфейсами List та Set на основі таких ключових параметрів:

Реалізація

List реалізують ArrayLists , тоді як HashSet реалізують Set .

Індексація

Ви можете використовувати ListIterator для переміщення List як вперед, так і назад, але не по Set . Натомість використовуйте Iterator (який працює як з List , так і з Set ).

Порядок

Інтерфейс Set не підтримує конкретний заданий порядок. Колекція виду Set вже відсортована за своїм правилом і її просто так не можна відсортувати. List – це впорядкований список. Об'єкти зберігаються в порядку їхнього додавання до списку. Доступ до елементів списку здійснюється за індексом.

Об'єкт Null

List немає жодних обмежень і підтримують додавання нульових значень (Null values), тоді як Set допускає трохи більше значення null.

Дублікати

List можуть містити дублікати, а Set - ні. Set не допускає дублювання елементів, оскільки всі його елементи мають бути унікальними. Якщо ви вставите повторюваний елемент у Set , існуюче значення буде перезаписано.

Коли потрібно використовувати List і Set?

Set - найкращий вибір, коли вам просто потрібно зберегти унікальні значення, оскільки він якраз для цього призначений. Але якщо ви хочете зберегти порядок вставки, незважаючи на дублювання, краще вибрати List .

Приклад Set

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

public class ListExample {

            public static void main(String[] args) {

                        List<String> al = new ArrayList<String>();

                          al.add("Rohit");

                          al.add("Panjab");

                          al.add("Kamir");

                          System.out.println("My ArrayList Items: ");

                          System.out.print(al);

                          List<String> ll = new LinkedList<String>();

                          ll.add("Shobit");

                          ll.add("Raul");

                          ll.add("Ketel");

                          System.out.println("\n My LinkedList Items: ");

                          System.out.print(ll);

            }

}

Приклад List

import java.util.HashSet;

import java.util.Set;

import java.util.TreeSet;

public class SetExample {

            public static void main(String[] args) {

                          int myList[] = {60, 70, 80, 40 };

                            Set<Integer> dispSet = new HashSet<Integer>();

                            try{

                              for(int i = 0; i<4; i++){

                                dispSet.add(myList[i]);

                              }

                              System.out.println(dispSet);

                              TreeSet<Integer> treeset = new TreeSet<Integer>(dispSet);

                              System.out.println("Sorting in Asceding order:");

                              System.out.println(treeset);

                            }

                            catch(Exception e){

                                e.printStackTrace();

                            }

            }

}
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ