0Pricing
Java Academy · Ders

Arrays.equals ve toString

Dizileri karşılaştırın ve yazdırın

Arrays.equals ve toString, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 4. 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.

Karşılaştırma ve Yazdırma

Diziler, equals veya toString yöntemlerini yararlı bir biçimde geçersiz kılmaz. Arrays yardımcı sınıfı, öğelerin içeriklerini gerçekten inceleyen equals ve toString yöntemlerini sağlar.

== Neden Başarısız Olur

Diziler üzerinde == kullanmak içerikleri değil, referansları karşılaştırır. Öğeleri aynı olan iki farklı dizi == açısından eşit değildir.

public class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {1, 2, 3};
        System.out.println(a == b);
    }
}

Arrays.equals

Arrays.equals(a, b), her iki dizinin de aynı uzunluğa ve aynı konumlarda eşit öğelere sahip olması durumunda true döndürür.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {1, 2, 3};
        System.out.println(Arrays.equals(a, b));
    }
}

Sıra Önemlidir

Öğelerin sırası önemlidir. Aynı değerlere farklı sırada sahip iki dizi eşit değildir.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {3, 2, 1};
        System.out.println(Arrays.equals(a, b));
    }
}

Nesne Dizilerini Karşılaştırma

Nesne dizilerinde Arrays.equals, öğeleri kendi equals yöntemlerini kullanarak karşılaştırır.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] a = {"x", "y", "z"};
        String[] b = {"x", "y", "z"};
        System.out.println(Arrays.equals(a, b));
    }
}

Okunabilir Çıktı için toString

Bir diziyi doğrudan yazdırmak, sınıf adını ve karmasını içeren [I@1b6d3586 gibi bir sonuç gösterir. Arrays.toString ise okunabilir [1, 2, 3] biçimini üretir.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3};
        System.out.println(nums);
        System.out.println(Arrays.toString(nums));
    }
}

İç İçe Diziler: deepEquals

Dizi dizilerinde düz equals yalnızca her satırın dış referanslarını kontrol eder. İç içe içerikleri karşılaştırmak için Arrays.deepEquals kullanın.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[][] a = {{1, 2}, {3, 4}};
        int[][] b = {{1, 2}, {3, 4}};
        System.out.println(Arrays.equals(a, b));
        System.out.println(Arrays.deepEquals(a, b));
    }
}

İç İçe Diziler: deepToString

Benzer şekilde Arrays.deepToString iç içe dizileri açıkça yazdırır; düz toString ise iç referansları gösterir.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[][] grid = {{1, 2}, {3, 4}};
        System.out.println(Arrays.toString(grid));
        System.out.println(Arrays.deepToString(grid));
    }
}

Diziler için hashCode

İçeriğe dayalı bir karma değerine ihtiyacınız varsa Arrays.hashCode kullanın; iç içe diziler için Arrays.deepHashCode kullanılır. Bunlar Arrays.equals ile tutarlıdır.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {1, 2, 3};
        System.out.println(Arrays.hashCode(a) == Arrays.hashCode(b));
    }
}

Sıralama Sonrası Karşılaştırma

İki dizinin sıradan bağımsız olarak aynı değer çokluğunu içerip içermediğini kontrol etmek için her ikisinin de kopyalarını sıralayın ve ardından Arrays.equals ile karşılaştırın.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {3, 1, 2};
        int[] b = {2, 3, 1};
        int[] ca = Arrays.copyOf(a, a.length);
        int[] cb = Arrays.copyOf(b, b.length);
        Arrays.sort(ca);
        Arrays.sort(cb);
        System.out.println(Arrays.equals(ca, cb));
    }
}

Günlükleme Kolaylaştı

Hata ayıklama sırasında, değerleri anlaşılması güç referanslar yerine gerçekten okuyabilmek için dizileri yazdırma ifadelerinin içinde Arrays.toString ile sarmalayın.

Kısa Kontrol

Dizileri karşılaştırma konusundaki anlayışınızı sınayın.

Özet

Dizileri karşılaştırmayı ve yazdırmayı öğrendiniz.

  • == referansları karşılaştırır; içerik eşitliği için Arrays.equals kullanın.
  • Sıra ve uzunluk aynı anda önemlidir.
  • Arrays.toString okunabilir çıktı sağlar; deepToString iç içe yapıları işler.
  • deepEquals iç içe dizileri karşılaştırır.

Sıkça Sorulan Sorular

“Arrays.equals ve toString” dersi ücretsiz mi?

Evet — “Arrays.equals ve toString” 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.equals ve toString” dersinde ne öğreneceğim?

Dizileri karşılaştırın ve yazdırı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 4. dersidir.

“Arrays.equals ve toString” 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