Arrays.sort ve Sıralama
İlkel ve nesne dizilerini sıralayın
Arrays.sort ve Sıralama, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Yardımcı Sınıfın Amacı
Java dizileri nesnedir ancak yerleşik yöntemleri çok azdır. java.util.Arrays sınıfı; dizileri sıralamak, aramak, karşılaştırmak, kopyalamak ve yazdırmak için statik yardımcı yöntemler sunarak bu eksikliği giderir.
import java.util.Arrays;ile içe aktarın- Her yöntem
staticolduğundan onları sınıfın kendisi üzerinden çağırırsınız:Arrays.sort(...)
İlkel Bir Diziyi Sıralama
Arrays.sort(int[]), hızlı bir çift pivotlu hızlı sıralama kullanarak diziyi yerinde sıralar. Döndürülen bir değer yoktur; özgün dizi yeniden düzenlenir.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {5, 2, 8, 1, 9, 3};
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));
}
}Diğer İlkel Türleri Sıralama
Her ilkel tür için aşırı yüklenmiş sürümler vardır: double[], long[], char[] ve daha fazlası. Bunların tümü küçükten büyüğe sıralar.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
double[] prices = {3.5, 1.2, 9.9, 0.5};
Arrays.sort(prices);
System.out.println(Arrays.toString(prices));
}
}Bir Aralığı Sıralama
Arrays.sort(array, fromIndex, toIndex) ile dizinin yalnızca bir bölümünü sıralayabilirsiniz. Aralık fromIndex değerini içerir ve toIndex değerini içermez.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {5, 2, 8, 1, 9, 3};
Arrays.sort(nums, 1, 4);
System.out.println(Arrays.toString(nums));
}
}Nesne Dizilerini Sıralama
String[] gibi nesne dizilerinde Arrays.sort, öğelerin doğal sıralamasını (öğelerin Comparable uygulamasını) kullanır. Dizeler sözlükbilimsel olarak sıralanır.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] names = {"Charlie", "Alice", "Bob"};
Arrays.sort(names);
System.out.println(Arrays.toString(names));
}
}Bir Karşılaştırıcıyla Sıralama
Doğal sıralamayı değiştirmek için bir Comparator verin. Comparator.reverseOrder() büyükten küçüğe sıralar. Bu yalnızca nesne dizilerinde çalışır, ilkel dizilerde çalışmaz.
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
String[] names = {"Charlie", "Alice", "Bob"};
Arrays.sort(names, Comparator.reverseOrder());
System.out.println(Arrays.toString(names));
}
}Uzunluğa Göre Karşılaştırma
Bir Comparator herhangi bir özelliğe göre karşılaştırma yapabilir. Comparator.comparingInt(String::length), dizeleri en kısadan en uzuna sıralar.
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
String[] words = {"banana", "fig", "apple"};
Arrays.sort(words, Comparator.comparingInt(String::length));
System.out.println(Arrays.toString(words));
}
}Kararlılık
Nesne dizilerinin sıralaması kararlıdır: eşit öğeler özgün göreli sıralarını korur. İlkel türlerin sıralamasında kararlılık garanti edilmez; ancak ilkel türlerde eşit değerler birbirinden ayırt edilemediği için bunun önemi yoktur.
Paralel Sıralama
Çok büyük dizilerde Arrays.parallelSort, işi birden fazla CPU çekirdeğine dağıtır. Programlama arayüzü sort ile aynıdır; sonuç da aynıdır, yalnızca büyük verilerde daha hızlıdır.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {7, 3, 9, 1, 5, 2, 8, 4};
Arrays.parallelSort(nums);
System.out.println(Arrays.toString(nums));
}
}Yaygın Bir Tuzak
Arrays.sort, void döndürür. int[] sorted = Arrays.sort(nums); gibi bir satır derlenmez. Önce sıralayın, ardından aynı değişkeni kullanın.
Sıralayıp Yazdırma
Yaygın akış şöyledir: diziyi yerinde sıralayın, ardından sonucu doğrulamak için Arrays.toString ile yazdırın.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] scores = {88, 72, 95, 60, 81};
Arrays.sort(scores);
System.out.println("Lowest: " + scores[0]);
System.out.println("Highest: " + scores[scores.length - 1]);
System.out.println(Arrays.toString(scores));
}
}Hızlı Kontrol
Sıralama konusundaki anlayışınızı sınayın.
Özet
Dizileri Arrays yardımcı sınıfıyla sıralamayı öğrendiniz.
Arrays.sort(arr), ilkel türleri veya nesneleri yerinde ve küçükten büyüğe sıralar.sort(arr, from, to)aşırı yüklemesi dizinin bir bölümünü sıralar.- Nesne dizileri özel sıralama için bir
Comparatorkabul eder. parallelSortbüyük dizileri hızlandırır.
Sıkça Sorulan Sorular
“Arrays.sort ve Sıralama” dersi ücretsiz mi?
Evet — “Arrays.sort ve Sıralama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Arrays.sort ve Sıralama” dersinde ne öğreneceğim?
İlkel ve nesne dizilerini sıralayın Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Arrays.sort ve Sıralama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Arrays.sort ve Sıralama
- Arrays.binarySearch
- Arrays.fill ve copyOf
- Arrays.equals ve toString