Arrays.sort
- Java kursu
- Başlangıç
- Ders 59/116
- 4 dk
Arrays.sort ile sıralamayı öğrenirsin.
Arrays.sort ile sıralama
Java'da bir diziyi küçükten büyüğe sıralamanın en kolay yolu Arrays.sort metodudur. Bu metod diziyi yerinde sıralar: yeni bir dizi dönmez, mevcut dizinin elemanlarını düzenler.
int[] scores = {78, 92, 55};
Arrays.sort(scores);
// scores artık: {55, 78, 92}Metot diziyi artan sırada düzenler. İleride göreceğin ikili arama (binary search) için dizi sıralı olmak zorundadır.
Sıralama ve ikili arama ilişkisi
Bazı metotlar sıralı dizi ister. Arrays.binarySearch bunlardan biridir: hızlı arama için dizinin sıralı olmasını şart koşar.
Eğer dizi sıralı değilse binarySearch yanlış sonuç döndürebilir; bu yüzden önce Arrays.sort çağrısı yapılır.
int[] nums = {4, 2, 7, 1};
Arrays.sort(nums);
int i = Arrays.binarySearch(nums, 4);
// i = 2Sıralama aynı zamanda en küçük ve en büyük değerleri dizinin uçlarına taşır; bu da dizi üzerinde işlem yapmayı kolaylaştırır.
Uygulama Puanları sırala ve yazdır
Aşağıdaki puanları küçükten büyüğe sırala ve her birini ayrı satıra yazdır.
Başlangıç kodu
public class Main {
public static void main(String[] args) {
int[] scores = {78, 92, 55, 64, 88};
// Puanları küçükten büyüğe sırala
// Her puanı ayrı satırda yazdır
}
}Örnek çözüm
Arrays.sort(scores);
for (int s : scores) {
System.out.println(s);
}Beklenen çıktı
55 64 78 88 92
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Arrays.sort(scores) çağrısından sonra ne olur?
int[] scores = {78, 92, 55};
Arrays.sort(scores);- Derleme hatası verir, çünkü Arrays.sort int[] kabul etmez
- scores dizisi değişmez, sıralı kopya döner
- Yeni bir int[] döner, scores aynı kalır
- scores dizisi yerinde sıralanır, geriye değer dönmez Doğru cevap
Açıklama: Arrays.sort void bir metottur; diziyi yerinde sıralar.
2 Boşluğu doldur: diziyi sırala
int[] nums = {9, 3, 7};
____;
System.out.println(nums[0]);
int[] nums = {9, 3, 7};
Arrays.sort(nums);
System.out.println(nums[0]);
Açıklama: Arrays.sort(nums) çağrısı diziyi sıralar.
3 Metot ile davranışı eşleştir
| Kavram | Anlamı |
|---|---|
Arrays.sort(x) |
Diziyi yerinde sıralar |
Arrays.toString(x) |
Diziyi metne çevirir |
Arrays.binarySearch(x, v) |
Sıralı dizide değer arar |
Arrays.copyOf(x, n) |
Dizinin kopyasını alır |