JavaRush /Java Blogu /Random-AZ /Kofe fasiləsi №136. Arrays.sort() istifadə edərək massivi...

Kofe fasiləsi №136. Arrays.sort() istifadə edərək massivi artan və ya azalan qaydada çeşidləyin. Siyahı və Set interfeysləri arasında fərq nədir?

Qrupda dərc edilmişdir

Arrays.sort() istifadə edərək massivi artan və ya azalan qaydada çeşidləyin

Mənbə: FreeCodeCamp Bu yazı ilə siz Java-da massivi artan və ya azalan qaydada necə çeşidləməyi öyrənəcəksiniz. Kofe fasiləsi №136.  Arrays.sort() istifadə edərək massivi artan və ya azalan qaydada çeşidləyin.  Siyahı və Set interfeysləri arasında fərq nədir?  - 1Java-da biz dəyişənlər dəstini (eyni məlumat növü ilə) tək dəyişəndə ​​saxlamaq üçün massivlərdən istifadə edirik. Ancaq bəzən massivdə saxlanılan dəyərlər təsadüfi qaydada görünür. Java-da Arrays sinfi sayəsində massivləri manipulyasiya etmək, o cümlədən onları çeşidləmək üçün bir neçə üsulumuz var. Arrays sinfindən istifadə edəcəyimiz üsullardan biri massivi artan qaydada çeşidləyən sort() metodudur . Massivi azalan qaydada çeşidləmək üçün Java-da Collections sinfinin reverseOrder() metodundan istifadə edin.

Arrays.sort() istifadə edərək Java-da massivi artan qaydada necə çeşidləmək olar

Massivi artan qaydada çeşidləmək üçün sort() metodundan necə istifadə edə biləcəyimizə dair bir nümunə .
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,
        }
    }
}
Yuxarıdakı nümunədə etdiyimiz ilk şey Arrays sinfini idxal etmək idi : import java.util.Arrays; . Bu, Arrays sinfinin bütün metodlarına giriş imkanı verir . Daha sonra biz təsadüfi ardıcıllıqla nömrələrdən ibarət massiv yaratdıq: int[] arr = { 5, 2, 1, 8, 10 }; . Bu massivi artan qaydada çeşidləmək üçün biz massivi parametr kimi sort() metoduna keçirdik : Arrays.sort(arr); . Diqqət yetirin ki, Arrays sinfi nöqtə qeydindən istifadə edərək sort() metoduna daxil olmamışdan əvvəl yazılır . Nəhayət, bir döngə yaratdıq və massivi konsola çap etdik. Nəticə sıralanmış massivdir: 1, 2, 5, 8, 10 . İndi isə massivin azalan ardıcıllıqla çeşidlənməsi haqqında danışaq.

Collections.reverseOrder() istifadə edərək Java-da massivi azalan qaydada necə çeşidləmək olar

Massivi azalan qaydada çeşidləmək üçün siz Collections sinfindən əldə edilə bilən reverseOrder() funksiyasından istifadə etməlisiniz . Biz yenə də Arrays.sort(); , lakin bu nümunədə o, iki parametr alacaq - çeşidləmək üçün massiv və 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,
        }
    }
}
İlk etdiyimiz iş MassivlərKolleksiya siniflərini idxal etmək oldu , çünki biz bu siniflərin təqdim etdiyi metodlardan istifadə edəcəyik. Daha sonra təsadüfi ardıcıllıqla ədədlər massivi yaratdıq: Tam ədəd[] arr = { 5, 2, 1, 8, 10 }; . Gördüyünüz kimi, əvvəlki misalda olduğu kimi int[] əvəzinə Integer[] istifadə etdik. Əks halda xəta baş verəcək. Massivi azalan ardıcıllıqla çeşidləmək üçün bunu etdik: Arrays.sort(arr, Collections.reverseOrder()); . Birinci parametr artan sıra ilə çeşidlənəcək massivdir . İkinci parametr Collections.reverseOrder() , daha sonra sıralanmış massivin sırasını tərsinə çevirəcək ki, o, azalan sırada olsun. Döngə və çap edildikdə, massiv belə görünəcək: 10, 8, 5, 2, 1 .

Nəticə

Bu yazıda biz Java-da massivlərin çeşidlənməsini müzakirə etdik - onları artan və ya azalan qaydada necə sıralamaq olar. Bunun üçün biz Arrays sinfindən əldə edilə bilən sort() metodundan istifadə edə bilərik . Sort() metodu parametr kimi çeşidləmək üçün massiv götürür. Massivi azalan qaydada çeşidləmək üçün Collections sinfinin təqdim etdiyi reverseOrder() metodundan istifadə etdik. O, ikinci parametr kimi sort() metoduna ötürülür ki, çeşidlənmiş massiv azalan ardıcıllıqla yenidən sıralana bilsin.

Java Kolleksiyası. Siyahı və Set interfeysləri arasında fərq nədir?

Mənbə: Rrtutors List və Set Kolleksiya interfeysini genişləndirmək üçün Java interfeysləridir . Bu yazıda ikisi arasındakı əsas fərqlərə, eləcə də onlardan necə istifadə oluna biləcəyinə baxacağıq.

Java-da Set və List interfeysləri arasındakı fərqlər

Aşağıdakı əsas parametrlərə əsasən ListSet interfeysləri arasında əsas fərqləri müəyyən edək :

İcra

List ArrayLists-i , HashSet isə Set-i tətbiq edir .

İndeksləmə

Siz ListIterator istifadə edərək Siyahıda irəli və geriyə hərəkət edə bilərsiniz, lakin Set vasitəsilə deyil . Bunun əvəzinə İteratordan istifadə edin (həm List , həm də Set ilə işləyir ).

Sifariş verin

Set interfeysi hər hansı xüsusi təyinat sırasını dəstəkləmir. Dəst tipli kolleksiya artıq öz qaydasına uyğun olaraq çeşidlənib və belə sıralana bilməz. Siyahı sıralı siyahıdır. Obyektlər siyahıya əlavə olunduqları ardıcıllıqla saxlanılır. Siyahı elementlərinə indekslə daxil olur.

Boş obyekt

Siyahının heç bir məhdudiyyəti yoxdur və Null dəyərlərinin əlavə edilməsini dəstəkləyir, Set isə ən çox bir null dəyərə icazə verir.

Dublikatlar

Siyahıda dublikatlar ola bilər, lakin Set ola bilməz. Set dublikat elementlərə icazə vermir, çünki onun bütün elementləri unikal olmalıdır. Dəst- ə dublikat element daxil etsəniz , mövcud dəyər üzərinə yazılacaq.

Siyahı və Setdən nə vaxt istifadə etməlisiniz?

Dəst yalnız unikal dəyərləri saxlamağınız lazım olduqda ən yaxşı seçimdir, çünki o, məhz bunun üçün nəzərdə tutulub. Ancaq təkrarlamaya baxmayaraq daxiletmə sırasını qorumaq istəyirsinizsə, List ən yaxşı seçimdir .

Nümunə dəsti

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

            }

}

Nümunə Siyahısı

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

                            }

            }

}
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION