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

( C#) Ders 4 - Diziler, Çok Boyutlu Diziler, Düzenli ve Düzensiz Çok Boyutlu Diziler Nasil Kullanilir. foreach Döngüsünün Kullanimi.

C# da Diziler Diziler için ayni tipteki verilerin tutuldugu bir koleksiyon diyebiliriz. Örnegin integer verinin bir yigin seklinde tutulmasi için dizileri kullaniriz. C# da diziler referans tipinde degiskenlerdendir. C# da tanimlanan tüm diziler System.Array sinifindan türemis bir nesnedir. C# da diziler asagidaki gibi tanimlanir. ? 1 <veri tipi>[] <degisken ismi> = new <veri tipi>[<dizinin boyutu>]; 10 adet integer veri tutan bir dizinin tanim ise ? 1 int [] integerDizi = new int [10]; Bir dizinin boyutlari sabittir ve kullanilmadan önce belirlenmelidir. Dizi boyutunu belirlemek için baska bir degiskende kullanabilirsiniz. ? 1 2 int boyut = 10; int [] integerDizi = new int [boyut]; Diziyi tanimlama ve baslangiç degerlerini atama islemini ayri satirlardada yapabilirsiniz. ? 1 2 int [] integerDizi; integerDizi = new int [10]; Ayrica dizileri tanimlarken, dizi içine atmak istedigin

JavaScript ile Popup Pencereleri

Popup pencereleri bir sayfa içinde ek bir pencere açma islemidir. Popup pencereler JavaScript kullanarak açilirlar. Popup pencereler yaygin olarak reklam göstermek amaciyla kullanilir. Diger bir kullanim amaci ise yardim sayfalari tasarlamak içindir. Ihtiyaciniz dogrultusunda farkli amaçlar için kullanilabilirler. Popup pencereler; Sayfa yüklenmesinde,Sayfadan çikildiginda,Kullanici bir linki tikladiginda açilabilir. Sayfa yüklenirken veya kapatilirken bir popup açmak için body etiketi içine asagidaki kodu yazmaniz yeterlidir. Sayfa yüklenirken ? 1 <body onload= "javascript: alert(Load islemi!')" > Sayfa Kapatilirken ? 1 <body onunload= "javascript: alert('UnLoad islemi!')" Link tiklandiginda ? 1 <a href= "javascript: alert('link Tiklandi!')" >Popup Aç!</a> Popup olarak yeni bir pencere açmak istiyorsak window.open() metodunu kullaniriz. Window.open metodun