JavaRush /Java блогы /Random-KK /Кофе-брейк №136. Arrays.sort() арқылы массивті өсу немесе...

Кофе-брейк №136. Arrays.sort() арқылы массивті өсу немесе кему реті бойынша сұрыптаңыз. List және Set интерфейстерінің айырмашылығы неде?

Топта жарияланған

Arrays.sort() көмегімен массивді өсу немесе кему реті бойынша сұрыптаңыз.

Дереккөз: FreeCodeCamp Осы жазба арқылы сіз Java тілінде массивді өсу немесе кему ретімен сұрыптауды үйренесіз. Кофе-брейк №136.  Arrays.sort() арқылы массивті өсу немесе кему реті бойынша сұрыптаңыз.  List және Set интерфейстерінің айырмашылығы неде?  - 1Java тілінде айнымалылар жиынын (бірдей деректер түрімен) бір айнымалыда сақтау үшін массивтерді пайдаланамыз. Бірақ кейде массивте сақталған мәндер кездейсоқ ретпен пайда болады. Java тіліндегі массивтер класының арқасында бізде массивтерді өңдеудің бірнеше жолы бар, соның ішінде оларды сұрыптау. Массивтер класында қолданатын әдістердің бірі массивді өсу ретімен сұрыптайтын sort() әдісі болып табылады . Жиымды кему реті бойынша сұрыптау үшін Java тіліндегі Collections класының reverseOrder() әдісін пайдаланыңыз.

Arrays.sort() арқылы Java тілінде массивді өсу ретімен сұрыптау әдісі

Міне , массивді өсу ретімен сұрыптау үшін 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,
        }
    }
}
Жоғарыдағы мысалда біз бірінші орындаған нәрсе массивтер класын импорттау болды : import java.util.Arrays; . Бұл Arrays класының барлық әдістеріне қол жеткізуге мүмкіндік береді . Содан кейін біз кездейсоқ ретпен сандармен массив құрдық: int[] arr = { 5, 2, 1, 8, 10 }; . Бұл массивді өсу ретімен сұрыптау үшін массивді параметр ретінде sort() әдісіне бердік : Arrays.sort(arr); . Массивтер класы sort() әдісіне нүктелік белгілерді қолданар алдында алдымен жазылатынын ескеріңіз . Соңында біз цикл жасап, массивті консольге басып шығардық. Нәтиже сұрыпталған массив: 1, 2, 5, 8, 10 . Енді массивті кему реті бойынша сұрыптау туралы сөйлесейік.

Collections.reverseOrder() арқылы Java тіліндегі массивді кему ретімен сұрыптау әдісі

Жиымды кему реті бойынша сұрыптау үшін Collections сыныбынан қатынасуға болатын reverseOrder() пайдалану керек . Біз әлі де 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,
        }
    }
}
Біз жасаған бірінші нәрсе массивтер мен жинақтар кластарын импорттау болды , өйткені біз осы сыныптар ұсынған әдістерді қолданамыз. Содан кейін біз кездейсоқ ретпен сандар массивін жасадық: Integer[] arr = { 5, 2, 1, 8, 10 }; . Көріп отырғаныңыздай, біз алдыңғы мысалдағыдай int [] орнына Integer[] қолдандық. Әйтпесе қате пайда болады. Массивті кему реті бойынша сұрыптау үшін біз мынаны орындадық: Arrays.sort(arr, Collections.reverseOrder()); . Бірінші параметр - өсу ретімен сұрыпталатын массив массиві . Екінші параметр Collections.reverseOrder() , содан кейін ол кему ретінде болатындай сұрыпталған массивтің ретін өзгертеді. Циклды айналдырып, басып шығарғанда, массив келесідей болады: 10, 8, 5, 2, 1 .

Қорытынды

Бұл мақалада біз Java-да массивтерді сұрыптау туралы талқыладық - оларды қалай өсу немесе кему ретімен сұрыптауға болады. Ол үшін Arrays класынан кіруге болатын sort() әдісін қолдануға болады . Sort() әдісі параметр ретінде сұрыптау үшін массивді алады. Жиымды кему реті бойынша сұрыптау үшін біз Collections сыныбы ұсынған reverseOrder() әдісін қолдандық. Ол екінші параметр ретінде sort() әдісіне жіберіледі , осылайша сұрыпталған массив кему ретімен реттелуі мүмкін.

Java жинағы. List және Set интерфейстерінің айырмашылығы неде?

Дереккөз: Rrtutors List және Set - бұл коллекция интерфейсін кеңейтуге арналған Java интерфейстері . Бұл мақалада біз екеуінің арасындағы негізгі айырмашылықтарды, сондай-ақ оларды қалай пайдалануға болатынын қарастырамыз.

Java тіліндегі Set және List интерфейстерінің арасындағы айырмашылықтар

Төмендегі негізгі параметрлер негізінде Тізім және Жиын интерфейстері арасындағы негізгі айырмашылықтарды анықтайық :

Іске асыру

List ArrayLists , ал HashSet Set іске асырады .

Индекстеу

ListIterator қолданбасын Тізім арқылы алға және артқа жылжытуға болады , бірақ жиын арқылы емес . Оның орнына Итераторды пайдаланыңыз (ол List және Set екеуімен де жұмыс істейді ).

Тапсырыс

Орнату интерфейсі кез келген белгілі бір орнату тәртібін қолдамайды. Жиын түріндегі жинақ өз ережесіне сәйкес сұрыпталған және оны дәл осылай сұрыптау мүмкін емес. Тізім – реттелген тізім. Нысандар тізімге қосылған ретімен сақталады. Тізім элементтеріне индекс арқылы қол жеткізіледі.

Нөлдік нысан

Тізімде ешқандай шектеулер жоқ және Null мәндерін қосуды қолдайды, ал Set ең көбі бір нөлдік мәнге мүмкіндік береді.

Көшірмелер

Тізімде көшірмелер болуы мүмкін, бірақ 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);

            }

}

Мысал тізім

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();

                            }

            }

}
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION