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.
Java-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 + ", ");
}
}
}
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 + ", ");
}
}
}
İlk etdiyimiz iş
Massivlər və
Kolleksiya 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
List və
Set 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();
}
}
}
GO TO FULL VERSION