Menu
Coddy logo textTech

Dizi Metotları

Coddy'nin Java Journey'sinin Temeller bölümünün bir parçası. Ders 61 / 73.

Diziler birçok yöntemle (işlevle) donatılmıştır. Bir yönteme erişmek için şunu yazın:

Arrays.methodName(arrayName, otherParameters)

İşte temel yöntemlerin bir listesi:

  • fill(array, value) - diziyi belirli bir değerle doldurur
  • toString() - diziyi bir dizeye dönüştürür
  • sort(array) - diziyi artan düzende sıralar
  • equals(array1, array2) - eşit olup olmadıklarını belirlemek için iki diziyi karşılaştırır

İşte fill metodunun toString ile nasıl kullanılacağına dair bir örnek:

int[] numbers = new int[5];
Arrays.fill(numbers, 10);
System.out.println(Arrays.toString(numbers));

Bu, [10, 10, 10, 10, 10] çıktısını verecektir.

sort metoduna örnek:

int[] numbers = {5, 2, 9, 1, 5, 6};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));

Bu, [1, 2, 5, 5, 6, 9] çıktısını verir.

challenge icon

Görev

Kolay

merge adlı ve iki diziyi bağımsız değişken olarak alan bir metot oluştur. Metot, iki diziyi sıralanmış tek bir dizide birleştirir ve bu diziyi döndürür.

Önemli: Son birleştirilmiş dizi artan düzende sıralanmış olmalıdır.

Örneğin şu bağımsız değişkenler: merge(new String[] {"1", "4", "2"}, new String[] {"2", "5", "9"}), ["1", "2", "2", "4", "5", "9"] değerini döndürür (sonucun sıralanmış olduğuna dikkat et).

Ögeleri bir diziden diğerine kopyalamak için System.arraycopy() kullan. Sözdizimi şöyledir: 

System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)

System.arraycopy() yalnızca zaten var olan bir diziye kopyalama yapar; hedef diziyi hiçbir zaman büyütmez. Önce arr1.length + arr2.length yuvası olan birleştirilmiş diziyi oluştur, arr1 dizisini 0 konumuna kopyala, ardından arr2 dizisini arr1.length konumundan başlayarak kopyala.

Örneğin:

// Source array
String[] sourceArray = {"1", "2", "3", "4", "5"};
        
// Destination array
String[] destinationArray = new String[5];
        
// Copy elements from sourceArray to destinationArray
System.arraycopy(sourceArray, 0, destinationArray, 0, 5);

Kopyalama işleminden sonra hedef dizi: 1 2 3 4 5

Kendin dene

import java.util.Arrays;
import java.util.Scanner;


public class Main {
    public static String[] merge(String[] arr1, String[] arr2) {
        // Kodu buraya yazın
        return null;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String textArr1 = scanner.nextLine();
        String textArr2 = scanner.nextLine();
        String[] arr1 = textArr1.split(",");
        String[] arr2 = textArr2.split(",");

        String[] mergedArray = merge(arr1, arr2);
        System.out.println(Arrays.toString(mergedArray));
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Java derleyicisi