Anotasyon

Temel Java Dersleri – Arrays Sınıfı

Merhaba Arkadaşlar,
Mobilhanem.com üzerinden anlattığımız/yayınladığımız Temel Java Dersleri yazı serimize bu dersimizde diziler ile yaptığımız işlemler için bizlere kolaylık sağlayan Arrays Sınıfı‘ndan bahsedeceğiz. Array derslerimizin 5. si olan Arrays Sınıfı dersimiz, tek boyutlu diziler ile ilgili son dersimiz olacak. Bundan sonraki derslerimizde çok boyutlu dizileri anlatmaya başlayacağız ve sonrasında 2-3 ders diziler ile ilgili algoritma soruları çözeceğiz ve iyice pekiştirmiş olacağız.

Gelelim Arrays sınıfımızı nasıl kullanacağımızı ve ne işimize yaracağına.

Öncelikle Arrays sınıfını kullanabilmek için, java.util.Arrays sınıfını aşağıdaki gibi projeye eklemeliyiz(import). İmport kullanımı hakkında bilgiyi bu dersimizde vermiştik.

import java.util.Arrays;

Sınıfımıza import ettikten sonra artık kullanmaya başlayabiliriz.

Arrays.toString() metotu

import java.util.Arrays;
 
public class Main
{
    public static void main(String[] args)
    {

        int[] liste = {1, 4, 99, 2, 5, -3, 6, 2,-49,52};//Dizi'mizi oluşturuyoruz
        
        // dizimizi direk konsola yazdırabilmek için Arrays.toString() kullanılır
        System.out.println(Arrays.toString(liste));
    }
}

Konsol çıktısı:
[1, 4, 99, 2, 5, -3, 6, 2, -49, 52]

Arrays.fill() metotu

import java.util.Arrays;
 
public class Main
{
    public static void main(String[] args)
    {
        int[] liste = {1, 4, 99, 2, 5, -3, 6, 2,-49,52};//Dizi'mizi oluşturuyoruz
        //Diziyi Belirli Bir Değerle ile Doldurmak için Arrays.fill()
        Arrays.fill(liste,5);
        System.out.println(Arrays.toString(liste));

        int[] liste2 = {1, 4, 99, 2, 5, -3, 6, 2,-49,52};//Dizi'mizi oluşturuyoruz
        //Diziyi Belirli Bir değerle, belirli bir aralıkta doldurma
        Arrays.fill(liste2,2,5,6);
        System.out.println(Arrays.toString(liste2));
    } 
} 

Konsol Çıktısı:  
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5] 
[1, 4, 6, 6, 6, -3, 6, 2, -49, 52]

 

Arrays.sort() metotu

import java.util.Arrays;

public class Main
{
    public static void main(String[] args)
    {
        int[] liste = {1, 4, 99, 2, 5, -3, 6, 2,-49,52};//Dizi'mizi oluşturuyoruz

        //Diziyi sıralamak için Arrays.sort() kullanırız
        Arrays.sort(liste);
        System.out.println(Arrays.toString(liste));

    }
}

Konsol Çıktısı:
[-49, -3, 1, 2, 2, 4, 5, 6, 52, 99]

 

Arrays.binarySearch() metotu

import java.util.Arrays;

public class Main
{
    public static void main(String[] args)
    {
        int[] liste = {1, 4, 5, 11, 15,22, 33,66,67,68,75};//Dizi'mizi oluşturuyoruz

        //Dizide bir elemanın indeksini bulmak için Arrays.binarySearch() kullanırız
        //!!!!! Arrays.binarySearch() kullanabilmemiz için dizimiz SIRALI olmalıdır. !!!!
        //Eğer sıralı değilse Arrays.sort ile sıralayabilirsiniz
        int index = Arrays.binarySearch(liste,5); //bulunduğu indeksi döner,aradığımız sayı dizide mevcut değilse negatif bir sayı döner
        System.out.println("5'in indeksi :"+index);

    }
}

Konsol Çıktısı:
5'in indeksi :2

 

Arrays.copyOf() ve Arrays.copyOfRange() metotu

import java.util.Arrays;

public class Main
{
    public static void main(String[] args)
    {
        int[] liste = {1, 4, 5, 11, 15,22, 33,66,67,68,75};//Dizi'mizi oluşturuyoruz

        //Mevcut diziden belli bir uzunlukta yeni bir dizi oluşturmak için Arrays.copyOf metotu kullanılır
        int[] copyArray = Arrays.copyOf(liste, 3);
        System.out.println(Arrays.toString(copyArray));

        //Mevcut diziden belli bir aralıkta yeni bir dizi oluşturmak için
        int[] copyOfRangeArray = Arrays.copyOfRange(liste, 0,5); //0-5 aralığı
        System.out.println(Arrays.toString(copyOfRangeArray));

    }
}

Konsol Çıktısı:
[1, 4, 5]
[1, 4, 5, 11, 15]

 

Arrays.equals() metotu

import java.util.Arrays;

public class Main
{
    public static void main(String[] args)
    {
        int[] list1 = {1, 5, 52};
        int[] list2 = {1, 5, 52};
        int[] list3 = {1, 5, 53};

        //İki dizi birbirinin aynısı olup olmadığını kontrol etmek için Arrays.equals() metotu kullanılır
        System.out.println(Arrays.equals(list1, list2)); // true
        System.out.println(Arrays.equals(list2, list3)); // false

    }
}

Arkadaşlar anlatımlarımı kodların üzerinden yapmaya çalıştım. Arrays sınıfının başka metotlarıda mevcuttur. Bunlar arasında en çok kullanılanı ise Arrays.asList() metotudur. Bu metot dizimizi List’e çevirmeye yaramaktadır. Fakat henüz List konusuna gelmediğimiz için şimdilik anlatmıyorum. Ben en çok kullanılanları anlatmaya çalıştım. Sizleri bir konuda uyarmak istiyorum. Hem Arrays sınıfı’nı kullanırken hemde genel olarak dizilerle çalışırken dizilerin uzunluklarına dikkat ederek çalışmamız gerekiyor. Örneğin 3 elemanı olan bir dizinin 5. elemanından sonrasını kopyalamaya çalışırsanız hata alırsınız.  “IndexOutOfBoundsException” bu hata ile karşılaşırsanız bilin ki dizinizin boyuyla alakalı hatalı işlem yapıyorsunuz.

Benim bu dersimde anlatmak istediklerim bu kadar. Bir sonraki dersimizde Javada çok boyutlu dizilere başlayacağız. Yukarıda dediğim gibi sonrasında ise 2-3 ders array algoritma soruları çözerek , bildiklerimizi pekiştirip algoritma yeteneğimizi geliştireceğiz.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm Temel Java Dersleri için tıklayınız.

67

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

1 Yorum

  • Merhaba , Konsol Çıktısı:
    5’in indeksi :2 nasıl çıkıyor 22 olması gerekmiyor mu

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?