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
Merhaba , Konsol Çıktısı:
5’in indeksi :2 nasıl çıkıyor 22 olması gerekmiyor mu