Ana içeriğe atla

Java'da diziler (arrays)

Dizi (array) nedir?
Dizi ayni tipten verilerin tutuldugu bir tür nesnedir. Bu veriler String, Integer, Obeject … gibi ilkel tipler olabilecegi gibi, kendi yazdigimiz nesneler de olabilir.
Java’da iki tip degisken vardir:
                -ilkel tipler: String, boolean, byte, int, long…
                -Referans tipler: Diziler, siniflar & arayüzler (interface).
 
Dizideki her elemanin bir indeksi vardir. Indeks 0’dan baslar. Yani bir dizinin ilk elemaninin indeksi 0’dir.
 
Dizi nasil tanimlanir?
 
Int[] a;
String[] s;
Obeject o;
 
Yukarida tanimladigimiz a, Integeger, s String ve o Object tipinde birer dizidir.
Dizileri tanimladik fakat henüs olusturmadik. Bunun için new anahtar sözcügünü kullanacagi.
 
a = new int[10]; //10 elemanli bir integer dizisi
s = new String[5]; //5 elemanli bir String dizisi
o = new Object[20]; //20 elemanli bir Object dizisi.
 
Not: o dizisinin elemanlari ayni tipten degil gibi düsünülebilir. Aslinda hepsi de ayni tipten, yani Object (nesne) tipindendir.
 
Eger ayni tipten farkli dizi degiskenleri tanimlamak istersek:
 
int[] a, b, c;
veya
int a[], b[], c[];
 
Yukarida tanimladigimiz dizilerin boyutlarini belirtmedik. Eger tanimlarken boyutlarini da belirtmek istersek:
int a[], b[], c[];
a = new int[10];
b = new int[5];
c = new int[20];
 
Dizi tanimlamanin baska bir yolu ise su sekildedir:
 
int [] a = {4, 1, 32, 56};
 
 
Dizinin elemanlarina ulasmak:
Once bir dizi olusturalim ve bu dizinin elemanlarini ekrana yazdiralim.
        public static void main(String[] args){
            int [] a = {4, 1, 32, 56};
            for(int i=0;i<a.length;i++) //a.length dizinin uzunlugunu verir
            System.out.println("Dizinin "+i+". indeksi: " + a[i]);
        }
 
Baska, kullanisli bir yöntem ise For-each döngüsü.
Java’da dizilerde for-each su sekilde olur:
int[] a = {4,7,9};
            for(int x:a)
                System.out.println(x);
veya
String[] s = {"a","b"};
            for(String x:s)
                System.out.println(x);
 
 
Bir diziyi kopyalamak:
 
Bir diziyi su sekilde kopyalayabiliriz:
int [] a = new int[10];
            for(int i=0;i<a.length;i++)
                a[i] = i * i;
            int[] b = new int[a.length];
            for(int i=0;i<a.length;i++)
                b[i] = a[i];
 
Fakat daha kolay bir yolu var; o da Java’nin hazir metotlarini da kullanabiliriz J
System.arraycopy(a, 0, b, 10);
 
 
Java’da Çok Boyutlu Diziler (Multidimensional Array):
 
Çok boyutlu dizi ne demektir?
Çok boyutlu dizi, dizilerden olusan bir dizi demektir. Her elemani baska bir dizi olan dizi.
Yani öyle bir dizi tanimlayacagiz ki elemanlari baska diziler olsun.
 
int [] [] a;         //diziyi tanimliyoruz
            a = new int [5] []; //diziyi olusturuyoruz
            for(int i=0;i<a.length;i++){
                a[i]=new int[2];
                for(int j=0;j<a[i].length;j++)
                    a[i][j] = i + j; //diziyi dolduruyoruz                
            }     
 
 
Çok boyutlu diziler düzenli ve düzensiz diziler olmak üzere ikiye ayrilir.
Çok bouyutlu düzenli diziler: Her satiri ayni sayida sütun içeren dizilerdir.
Çok boyutlu düzensiz diziler: Her satiri ayni sayida sütun içermeyen dizilerdir.
 
Düzenli dizilere bir örnek:
int [] [] a = {{0,1}, {1,2}, {2,3}, {3,4}, {4,5}};
 
//a.length: 5
//a[0].length: 2
//a[1].length: 2
//…..
 
Düzensiz dizilere bir örnek:
int [] [] a = {{0,1,2,3}, {1,2}, {2}};
 
//a.length: 3
//a[0].length: 4
//a.length: 2
//a.length: 1
 
Düzenli ve düzensiz dizilerin genel yapisina bir de sekille bakacak olursak:
 
 
 
 
Dizi Sinifi (class array):
 
Array sinifi, java.util paketindedir. Dizi islemleri için bir çok metot barindirir. Bunlardan bir kaçi sunlardir:
 
sort()
Diziyi tasnif etmek, alfabetik siraya koymak için kullanilir. Ör:Arrays.sort(a);
binarySearch()
Tasnif edilmis bir dizide bir deger aramak için kullanilir.
equals()
Dizileri karsilastirmak için kullanilir. Ör: Arrays.equals(birinciDizi[ ], ikinciDizi[ ]); //true-false
fill()
Dizinin içini doldurmak için kullanilir. Ör: Arrays.fill(aDizisi, 0);
 

Yorumlar

Bu blogdaki popüler yayınlar

Linux En Az Sistem Gereksinimi İsteyen Dağıtımları Değerlendirilmesi

Linux İşletim Sisteminin Dağıtımlarının En az sistem gereksinimi isteyen sürümleri, değerlendirilmesi aşağıdadır, Değerlendirilen dağıtımlar şunlardır: Ubuntu Xubuntu Lubuntu Damn Small Linux Linux Mint Fedora Opensuse Debian Rat Hat Suse Linux Suse Linux Sistem Gereksinimleri: Pentium 1-4 ya da Xeon; AMD Duron, Athlon (XP, MP ya da 64), Sempron ya da Opteron 256MB RAM 500MB boş disk alanı 800x600 yada üstü resolution Rat Hat Memory Gerekli: 4 GB of memory Önerilen: 8 GB of memory CPU Gerekli: Intel Core processor, 2.4GHz, 512K cache or equivalent Önerilen: Intel multi-core processor, 2.4GHz dual processor, 512K cache or equivalent Storage 5 GB alan temel kurulum için. 40 GB alan Channel başına. 10 GB alan Cache dizini için(/var/cache/rhn) Disk yapılandırması olarak Raid 5 tavsiye edilir. Database İlk kurulum için 12 GB alan önerilir. Client ve channel hesaplamaları ise, 250 KB alan client system başına, 500 KB alan çhannel başına, ayrıca 230 KB channel da...

Bilgisayarın Sağlıklı ve Doğru Kullanımı

Bilgisayar genelde oturarak kullanıldığı için uzun süreli kullanımlar vücudumuza zarar verebilmektedir.Yazı yazmak,internet erişimi ya da oyun oynamak için uzun süreli kullanım;başta bel,boyun ve omurgalarımızın sağlığını tehdit eder.Diğer yandan sürekli aynı noktaya bakmak göz sağlığımıza zarar verir.Bu nedenle bilgisayar kullanıcısının oturma pozisyonuna çok dikkat etmesi ve uzun süre çalışmaması gerekir. Bilgisayar Kullanırken Oturma Şekli Önerileri ·         Bilgisayarı,uygun yükseliğe sahip olan masa ve sandalye üzerinde dik oturma konumunda kullanmak gerekir.Klavye ve farenin çok uzakta olmaması gerekir.Oturan kişinin gözü ile bilgisayar arasında 50-60 cm uzaklık olmalıdır.Kollar yatay ve rahat konumda olmalıdır.   ·         Masa yüksekliği yaklaşık 70 cm olmalıdır.Dizüstü bilgisayarlar için yükseltici olarak bilinen altlıklar yararlı olabilir.   ·         Oturma sırasında sırt desteklemeli ve...

Web Debugging - Hata Ayiklama (Fiddler Aracinin Kullanimi)

Debugging, hata ayiklama, programcinin olmazsa olmazi diyebiliriz. Kodlama sirasinda çikan hatalarda ya da hatasiz çalisan programda istenen sonuç dönmeyince, nerde hata yaptim diye satirlari incelemeye baslariz. Genelde kodlama sirasinda çikan hatalarimizda derleyici neyi yanlis yaptigimizi söylerken, runtime' da hatalarla karsilasinca ya da islemde bir yanlislik varsa isler biraz zorlasir. Pek çogumuz breakpoint'lerle adim adim inceleme yapariz, eger javascript kodlarimiz varsa alert'ler kullanarak isin içinden çikmaya çalisiriz. Tabi bu durum her zaman ise yaramayabilir, ya da çok can sikici bir hale dönüsebilir. Bu durumlarda browserda aslinda neler oldugunu ögrenmek için http requestlari takip edebilecegimiz programlar var. Fiddler bunlardan birisi. Fiddler Nedir Fiddler, bilgisayar ve internet arasindaki tüm web trafigini takip eden ve detayli bir sekilde analiz yapmamizi saglayan ücretsiz bir http debugging (Hata Ayiklama) programidir. Bu program, http trafigini...