Temel Java Dersleri – Arrays Sınıfı

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.

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]

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]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

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]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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ı:

5in 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]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

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

}
}

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.

60

Yorum Yap
0 Yorum yapan