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

JavaScript ile Ziyaretçi Bilgileri Nasil Alinir

Bu makalemizde javascript ile web sayfamizi ziyaret eden kullanicilarin hangi site üzerinden geldigi, kullandigi tarayici bilgisi, ekran çözünürlügü ve Ip adresi gibi bilgileri nasil alacagimizi anlatacagiz. Tarayici Tipini Almak Ziyaretçinin kullandigi tarayici tipini asagidaki javascript kodu ile alabiliriz. function Tarayicitipi() {   alert(navigator.appName); } Tarayici Versiyonunu Almak function Tarayiciversiyon() {   alert(navigator.appVersion); } Ziyaretçinin Hangi Baglantiyi Kullanarak Geldigi Bilgisi (referral bilgisi) Eger ziyaretçi sayfamiza direk olarak degilde bir linki takip ederek geldi ise, geldigi adresi almak için asagidaki kodu kullaniyoruz. Bu sayede arama motorlarin gelen ziyaretçileride bulabilir ve farkli analizler için kullanabiliriz. function ReferrelBilgisi() {    alert(document.referrer); } Ekran Çözünürlügünü Almak function Cozunurluk() {    var w = screen...

GPS'li şapkayla yolunuzu bulmak çok kolay!

Bu ilginç görünümlü şapkayı giydiğinizde, yolunuzu hiç kaybetmeyeceksiniz! Gitmek istediğiniz mekanı bulmak için telefonunuzu cebinizden çıkarmanıza artık gerek yok. Çünkü bu şapka, size yolu tarif edebiliyor, üstelik yalnızca sesle. GPS destekli silindir şapka,  Cornell Üniversitesi  araştırmacıları tarafından geliştirilmiş. Prototip şu an korkunç görünüyor olabilir, ancak onu kullanmak için dil bilmenize bile gerek yok. Şapka, ses tonlarıyla yolunuzu bulmanızı sağladığından elinizi kullanmanıza da gerek kalmıyor. Bu şapkayı yakın bir zamanda satın almanız mümkün olmayacak, ancak teknolojinin navigasyon uygulamalarına uyarlanması faydalı olabilir. Teknoloji görsel ipuçlarıyla çalışmadığından, özellikle görme sorunu yaşayan kullanıcıların işine yarayabilir.

MPLS Temel Konfigürasyonu

Bu yazı içerisinde sizlerle temel “MPLS” protokolü konfigürasyonunu adım adım uygulayarak paylaşacağım. Bu adımların tamamını Huawei marka AR 2200 Serisi Router ürün ailesi üzerinde konfigüre edeceğiz. Bu konfigürasyonların kullanıldığı ve çalıştırıldığı işletim sistemi versiyonu “ V200R003C00 ” dur. Konfigürasyon adımlarının tamamı bi çok üretici ürününde de aynı şekilde ve aynı ön gereksinim ve alt yapı hazır olduğu sürece uygulanabilir ve müşteri ve/veya Servis sağlayıcıda devreye alınabilir. İşlem adımlarının uygulanırken temiz bir şekilde anlaşılması çok önemlidir. MPLS Protokolü temel konfigürasyonunu aşağıdaki topoloji üzerinden uygulayarak sizlere sunuyor olacağım. MPLS Referans Topolojimiz Öncelikli olarak tüm Router cihazlarımızda, fiziksel interface’ler ve Loopback interfac IP adres tanımlamalarını topolojimize uygun ayarlıyoruz. RouterB IP İnterface konfigürasyonu; “Router B IP Konfigürasyonu çıktısı” “Router B Üzerinde Yer Alan İnterface’lerin IP...