Diziler akrays
Referans Tipler: Java’da iki tür veri tipi vardır: Referans ve ilkel veri tipleri. İlkel veri tipleri sadece 1 tane veri tutar ama referans veri tipleri nesnelerin bellekteki yerlerini tutar. Yani referans veri tipleri tarafından refere edilen nesneler kendi içlerinde başka veri tiplerini barındırır.
Dizi oluşturma: new operatoru ile yeni nesneler oluşturuyoruz.
veritipi [] diziAdi= new veritipi[eleman sayısı];
[] dizi içerisinde erişilmek istenen elemanı gösterir. buna indis denir. Dizilerin ilk elemanları 0’dır. (ilk indis 0 )
int[] ilkDizi = new int[7]; /* ilkDizi adından ve 7 elemanlı bir dizi tanımladık. ilkDizi[0] ...... ilkDizi[6] şeklinde devam etmektedir. */ // Dizi Boyutunun Değiştirilmesi ilkDizi = new int [12]; /*Dizi boyutumuzu 7'de 12 yapmadık yeni bir dizi nesnesi oluşturduk. new int [7] ise uygulama çalıştığında çöpe gönderilir. */
// dizi Boyutunun belirlenmesi diziAdi.length
//Dizi indislerini ekrana yazdırıyoruz for (int x = 0; x < ilkDizi.length; x++) { System.out.println((x+1)+".eleman:"+ "değeri"+ ilkDizi[x]);
// Dizi elemanlarına değer atama yöntemi 1 ilkDizi[0] = 7; ilkDizi[2] = 17; ilkDizi[3] = 27; ilkDizi[7] = 37; ilkDizi[11] = 47; for (int x = 0; x < ilkDizi.length; x++) { System.out.println((x + 1) + ".eleman:" + "değeri" + ilkDizi[x]); }
// Dizi elemanlarına değer atama yöntemi 1 int[] degerAtama = {10,30,33,42,25,17}; for (int x = 0; x < degerAtama.length; x++) { System.out.println((x + 1) + ".eleman:" + "değeri" + degerAtama[x]); }
// Dizi elemanlarının karesini alan bir uygulama int x; int[] diziKare = {4, 5, 6, 7, 8, 9}; for (x = 0; x < diziKare.length; x++) { diziKare[x] = diziKare[x] * diziKare[x]; System.out.println(x + ".eleman:" + "değeri" + diziKare[x]); }
// Klavyeden girilen sayıları diziye aktarma int giris, kacAdet, Toplam=0; Scanner sayiAl = new Scanner(System.in); System.out.println("Kaç Adet Sayı gireceksiniz?"); kacAdet = sayiAl.nextInt(); int[] girilenSayi = new int[kacAdet]; for (int x = 0; x < girilenSayi.length; x++) { System.out.println("Tam Sayi Giriniz:"); giris = sayiAl.nextInt(); girilenSayi[x] = giris; Toplam = Toplam+ girilenSayi[x]; } for (int x = 0; x < girilenSayi.length; x++) { System.out.println("girilenSayi[" + x + "]=" + girilenSayi[x]); } System.out.println("Toplamı:" + Toplam);
Dizilerin Metotlara Atanması
Metotlar dizileri teker teker ya da tamamen alabilir.
Diziyi tamamen alan bir metot yazıp, çağıralım:
Dizinin elemanlarına yeni değerler atayan bir metot yazalım:
İki Boyutlu Diziler
Matrislerde denilmektedir. Satır ve sütundan oluşup bellekte art arda sıralanır.
iki şekilde de gösterimi vardır.
Dizilerin Kopyalanması
1. For döngüsü kullanarak kopyalama
2. ArrayCopy metodu
Array sınıfının çok sayıda metodu vardır.
ArrayList Sınıfı
Başlangıç boyutu belli olmayan ve tanımlanmayan dizilere dinamik diziler denir. Dinamik dizileri ArrayList sınıfı ile oluştururuz. Bu sınıfı kullanabilmek için import işlemini yapmamız gerekmektedir.
- add(); listenin sonuna eleman ekler.
- remove(indis); verilen indisteki elemanı siler.
- clear(); dizideki tüm elemanları siler.
- indexOf(); dizi elemanları arasında arama yapmak için. Elaman bulunursa indisini döndürür bulunamazsa -1 döndürür.
- size(); dizideki eleman sayısını verir.
- get(indis); aranan indis numarasına Object tipinde döndürür.
import işlemini yapmayı unutmayalım.
Daha sonra çıktısı aşağıdaki gibi olacaktır.