0Pricing
Java Academy · Ders

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 static olduğ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 Comparator kabul eder.
  • parallelSort bü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

  1. Arrays.sort ve Sıralama
  2. Arrays.binarySearch
  3. Arrays.fill ve copyOf
  4. Arrays.equals ve toString
← Java Academy Sayfasına Dön