Java'da dizi, aynı türden birden fazla değeri saklamamıza olanak tanıyan önemli bir doğrusal veri yapısıdır.
- Java'daki diziler, Java dizilerindeki diğer tüm nesneler gibi dolaylı olarak Java.lang.Object sınıfından miras alınan nesnelerdir. Bu, Object'te tanımlanan yöntemleri (toString() equals() ve hashCode() gibi) çağırmanıza olanak tanır.
- Diziler, dizideki öğelerin sayısını sağlayan yerleşik bir uzunluk özelliğine sahiptir
public class Geeks { public static void main(String[] args) { // initializing array int[] arr = {40 55 63 17 22}; // size of array int n = arr.length; // traversing array for (int i = 0; i < n; i++) System.out.print(arr[i] + ' '); } }
Çıkış
40 55 63 17 22
Dizilerin temel özellikleri
- İlkelleri ve Nesneleri Depolayın: Java dizileri hem ilkel türleri (int char boolean vb. gibi) hem de nesneleri (String Integer vb. gibi) tutabilir.
- Bitişik Bellek Tahsisi İlkel tür dizileri kullandığımızda öğeler bitişik konumlarda saklanır. İlkel olmayan türler için öğelerin referansları bitişik konumlarda saklanır.
- Sıfır Tabanlı İndeksleme: Dizinin ilk elemanı 0 indeksindedir.
- Sabit Uzunluk: Bir dizi oluşturulduktan sonra boyutu sabitlenir; bunu değiştiremeyiz.
Java'da İlkel Dizi gösterimi
Java'da İlkel Olmayan Dizi gösterimiJava'da Dizilerde Temel İşlemler
1. Dizi Bildirmek
Dizi bildiriminin genel biçimi şöyledir:
// Yöntem 1:
int dizi[];// Yöntem 2:
int[] dizi;
Öğe türü, diziyi oluşturan her öğenin veri türünü belirler. Bir tamsayı dizisi gibi, char float double vb. veya kullanıcı tanımlı veri türleri (bir sınıfın nesneleri) gibi diğer ilkel veri türlerinden oluşan bir dizi de oluşturabiliriz.
javascript için uyku
Not: Bu, gerçek bir dizi bulunmayan bir dizi değişkenini nasıl yaratabileceğimizdir. Derleyiciye yalnızca bu değişkenin (int Array) tamsayı tipinde bir dizi tutacağını söyler.
2. Java'da Bir Dizinin Başlatılması
Bir dizi bildirildiğinde yalnızca dizinin referansı oluşturulur. Belirli boyuttaki bir diziyi tahsis etmek için new kullanırız.
int arr[] = yeni int[boyut];
- Dizi Bildirimi genellikle statiktir ancak boyut tanımlanmamışsa Dizi Dinamik olarak boyutlandırılmıştır.
- Diziler için bellek, Java'da her zaman dinamik olarak (yığın segmentinde) tahsis edilir. Bu, belleğin statik olarak veya dinamik olarak tahsis edilebildiği C/C++'dan farklıdır.
- Dizideki new tarafından tahsis edilen öğeler otomatik olarak sıfır (sayısal türler için), false (boolean için) veya null (referans türleri için) olarak başlatılacaktır.
Java'da Dizi Değişmezi
ymail nedir
Dizinin boyutunun ve dizi değişkenlerinin zaten bilindiği bir durumda dizi değişmezleri kullanılabilir.
// Dizi değişmezinin bildirilmesi
int[] arr = yeni int[]{ 12345678910 };
- Bu dizinin uzunluğu oluşturulan dizinin uzunluğunu belirler.
- Java'nın son sürümlerinde yeni int[] kısmını yazmaya gerek yoktur.
3. Dizi Öğesini Değiştirin
Bir öğeyi değiştirmek için belirli bir dizine yeni bir değer atayın. Dizin 0 ile başlar ve (toplam dizi boyutu)-1 ile biter.
// İlk elemanı 90 olarak değiştiriyoruz
dizi[0] = 90;10 ml'den oz'a kadar
4. Dizi Uzunluğu
Bir dizinin uzunluğunu uzunluk özelliğini kullanarak bulabiliriz:
// Dizinin uzunluğunu alıyoruz
int n = dizi.uzunluk;
5. Tüm Dizi Öğelerine Erişim ve Güncelleme
- Dizinin tüm elemanlarına Java for Loop kullanılarak erişilebilir.
- Dizideki her öğeye indeksi aracılığıyla erişilir.
Tüm Dizi Öğelerine Erişim ve GüncellemeBir tam sayı dizisi oluşturmayı gösteren Java programı, diziye bazı değerler koyar ve her değeri standart çıktıya yazdırır
Javaclass Geeks { public static void main(String[] args) { // declares an Array of integers. int[] arr; // allocating memory for 5 integers. arr = new int[5]; // initialize the elements of the array // first to last(fifth) element arr[0] = 2; arr[1] = 4; arr[2] = 8; arr[3] = 12; arr[4] = 16; // accessing the elements of the specified array for (int i = 0; i < arr.length; i++) System.out.println('Element at index ' + i + ' : ' + arr[i]); } }
Çıkış
Element at index 0 : 2 Element at index 1 : 4 Element at index 2 : 8 Element at index 3 : 12 Element at index 4 : 16
Java'da Nesne Dizileri
Bir dizi ilkel tip veri öğesi gibi bir nesne dizisi yaratılır
Örnek : Burada bir öğrenci sınıfı alıyoruz ve dizide saklanan beş Öğrenci nesnesi ile bir Öğrenci dizisi oluşturuyoruz. Öğrenci nesnelerinin, Öğrenci sınıfının yapıcısı kullanılarak başlatılması ve bunların referanslarının dizi öğelerine atanması gerekir.
class Student { public int roll_no; public String name; Student(int roll_no String name){ this.roll_no = roll_no; this.name = name; } } public class Geeks { public static void main(String[] args){ // declares an Array of Student Student[] arr; // allocating memory for 5 objects of type Student. arr = new Student[5]; // initialize the elements of the array arr[0] = new Student(1 'aman'); arr[1] = new Student(2 'vaibhav'); arr[2] = new Student(3 'shikar'); arr[3] = new Student(4 'dharmesh'); arr[4] = new Student(5 'mohit'); // accessing the elements of the specified array for (int i = 0; i < arr.length; i++) System.out.println('Element at ' + i + ' : { ' + arr[i].roll_no + ' ' + arr[i].name+' }'); } }
Çıkış
Element at 0 : { 1 aman } Element at 1 : { 2 vaibhav } Element at 2 : { 3 shikar } Element at 3 : { 4 dharmesh } Element at 4 : { 5 mohit } Dizi boyutunun dışındaki öğelere erişmeye çalışırsak ne olur?
JVM, diziye geçersiz bir dizinle erişildiğini belirtmek için ArrayIndexOutOfBoundsException oluşturur. İndeks, bir dizinin boyutundan negatif veya daha büyük veya ona eşittir.
math.pow java
Aşağıdaki kod, dizi boyutunun dışındaki öğelere erişmeye çalışırsak ne olacağını gösterir:
Javapublic class Geeks { public static void main(String[] args) { int[] arr = new int[4]; arr[0] = 10; arr[1] = 20; arr[2] = 30; arr[3] = 40; System.out.println( 'Trying to access element outside the size of array'); System.out.println(arr[5]); } }
Çıkış:
numpy ağ ızgarası
Dizi boyutunun dışındaki öğelerin çıktısıDizileri Yöntemlere Aktarmak
Değişkenler gibi dizileri de yöntemlere aktarabiliriz. Örneğin aşağıdaki program, dizi değerlerinin toplamını hesaplamak için diziyi toplam yöntemine aktarır.
Örnek:
Javapublic class Geeks { // Driver method public static void main(String args[]) { int arr[] = { 3 1 2 5 4 }; // passing array to method m1 sum(arr); } public static void sum(int[] arr) { // getting sum of array values int sum = 0; for (int i = 0; i < arr.length; i++) sum += arr[i]; System.out.println('sum of array values : ' + sum); } }
Çıkış
sum of array values : 15
Açıklama
- Bu Java programı bir dizinin bir yönteme nasıl aktarılacağını gösterir.
- Ana yöntemde bir tamsayı dizisi arr bildirilir ve başlatılır.
- sum() yöntemi, argüman olarak arr ile çağrılır.
- sum() yönteminin içinde tüm dizi öğeleri for döngüsü kullanılarak eklenir.
- Nihai toplam daha sonra konsola yazdırılır.
Metodlardan Dizileri Döndürmek
Her zamanki gibi bir yöntem aynı zamanda bir dizi de döndürebilir. Örneğin aşağıdaki program m1 yönteminden bir dizi döndürür.
Örnek:
Javaclass Geeks { // Driver method public static void main(String args[]) { int arr[] = m1(); for (int i = 0; i < arr.length; i++) System.out.print(arr[i] + ' '); } public static int[] m1() { // returning array return new int[] { 1 2 3 }; } }
Çıkış
1 2 3
Java Dizilerinin Avantajları
- Verimli Erişim: Bir öğeye indeksi yoluyla erişim hızlıdır ve sabit zaman karmaşıklığına sahiptir O(1).
- Bellek Yönetimi: Dizilerin sabit boyutu vardır, bu da bellek yönetimini basit ve öngörülebilir kılar.
- Veri Organizasyonu: Diziler, verilerin yapılandırılmış bir şekilde düzenlenmesine yardımcı olarak ilgili öğelerin yönetilmesini kolaylaştırır.
Java Dizilerinin Dezavantajları
- Sabit Boyut: Bir dizi oluşturulduktan sonra boyutu değiştirilemez; bu, boyutun fazla tahmin edilmesi durumunda bellek israfına veya hafife alınması durumunda yetersiz depolamaya yol açabilir.
- Tür Homojenliği: Diziler yalnızca aynı veri türündeki öğeleri depolayabilir; bu durum, karışık veri türleri için ek işlem gerektirebilir.
- Ekleme ve Silme: Özellikle bir dizinin ortasındaki öğelerin eklenmesi veya silinmesi, öğelerin kaydırılmasını gerektirebileceğinden maliyetli olabilir.
İlgili Gönderiler
- Java'da Pürüzlü Dizi
- Java'da her biri için döngü
- Java'da diziler sınıfı