introduction java arrays
Bu Eğitim, Java'da Diziler Kavramını Tanıtıyor. Ayrıca Java Dizileri altında Uzunluk, Veri Türleri, Klonlama, Kopyalama, Sıralama vb.Gibi İlgili Konuları da Sunduk:
Programlamada her zaman verilerle ilgilenirsiniz. Verilerin bellek konumlarında depolanması gerekir ve zaman zaman bunlara erişmek ve buna göre işlemek için bir ad verilmesi gerekir. Bu, değişkenler tarafından yapılır.
Bu nedenle, 10 değerini bellekte saklamak istiyorsanız, int türünde bir değişken bildirecek ve değeri int num = 10 olarak saklayacaksınız;
Şimdi, program gereksiniminizin int türünde 10 değişkene ihtiyacınız olacak şekilde olduğunu varsayalım.
Bu durumda, aşağıdaki gibi int türünde 10 değişken bildirmeniz gerekecektir:
int a1;
int a2;
int a3;
int a4;
int a5;
int a6;
int a7;
int a8;
int a9;
int a10;
Yukarıdaki açıklamalar programcıya gereksiz bakım yükünü yükleyecektir. Bu kadar çok değişken bildirmek yerine, tek bir değişkeni bildirmeye ve sonra tüm bu 10 değeri bu değişkene atamaya ne dersiniz? Bir dizi tanımladığımızda ve ona değerler atadığımızda yapacağımız şey budur.
Java'daki dizilerle başlayalım.
Ne öğreneceksin:
- Java Dizisi
- Sonuç
Java Dizisi
Diziler, aynı türdeki veri öğelerini sıralı bir şekilde tutmak için kullanılan bir veri yapısından başka bir şey değildir. Yukarıdaki örnekten, on değişkenin tanımını tek bir değişkene değiştirebilir ve alt simgelerini kullanarak on değerin tümünü saklayabilirsiniz.
Bunu aşağıda verilen şekilde yapalım:
A (0) = 1;
A (1) = 2;
A (2) = 3;
A (3) = 4;
A (4) = 5;
A (5) = 6;
A (6) = 7;
A (7) = 8;
A (8) = 9;
A (9) = 10;
On değeri indeks tabanlı değişkende sakladık. İlk dizin 0'dan başlar. Yani ilk değer 0'daincidizin ve son değer 9'dainciindeks. Bu endekslere Abonelikler de denir.
Bilgisayar belleğinde, yukarıdaki A Dizisi şu şekilde temsil edilecektir:
Şimdi bir diziyi, aynı veri türündeki öğelerin bir koleksiyonu olan ve bitişik bellek konumlarında depolanan bir değişken olarak tanımlayabiliriz. Bir dizinin boyutu bildirim sırasında belirtilir ve bu nedenle boyut sabittir.
Bu eğitimde tartışacağımız diziler Sabit boyutlu veya Statik dizilerdir. Java ayrıca boyutları anında değiştirilebilen 'ArrayList' adlı dinamik dizileri de destekler. ArrayList'i daha sonra detaylı olarak tartışacağız.
örnekle işlevsellik testi nedir
Java'daki Dizilerin özelliklerinden bazıları aşağıda listelenmiştir:
- Java'da Dizi, dinamik olarak oluşturulmuş bir sınıftan örneklenen bir nesnedir.
- Java dizisi dahili olarak Serileştirilebilir ve Klonlanabilir arayüzleri uygular.
- Java dizisi ayrıca üst sınıfı olarak nesne sınıfına sahiptir.
- Yerleşik ve türetilmiş tür değerlerini Java dizilerinde depolayabilirsiniz.
- Bir dizinin uzunluğunu C / C ++ 'daki gibi sizeof değil uzunluk üyesini kullanarak elde edebilirsiniz.
- Java, tek ve çok boyutlu dizilere izin verir.
Bu eğitimde, gittiğimiz okuyucuya tüm dizi kavramlarını tanıtacağız.
Bu dizide Java Dizilerini ele almak için.
Hadi başlayalım!!
Java Dizisi - Oluşturma ve Başlatma
Programda kullanmak için dizilerin oluşturulması gerekir. Diziler oluşturmak, dizinin içereceği öğe sayısının yanı sıra dizinin tutacağı öğelerin veri türünü belirtmeyi içerir.
Dizi oluşturmayı çeşitli şekillerde ve ayrıca dizileri başlatabileceğimiz farklı yöntemlerle tartışacağız.
Dizi oluşturma ve başlatma için kullanılan yöntemlerden birinin bir örneği aşağıda verilmiştir.
public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('myArray(0):' + myArray(0)); System.out.println('myArray(1):' + myArray(1)); System.out.println('myArray(2):' + myArray(2)); System.out.println('myArray(3):' + myArray(3)); System.out.println('myArray(4):' + myArray(4)); } }
Çıktı:
Bu programda, bir int dizisi tanımladık ve bunu new kullanarak somutlaştırdık. Ardından 0 ve 1 indislerindeki öğeleri sırasıyla 1 ve 3 değerleriyle başlattık.
Son olarak, dizinin tüm elemanlarını yazdırıyoruz. Dizinin türü int olduğundan, başlatmadığımız öğelerin 0 varsayılan değerlerine sahip olduğuna dikkat edin.
Java Dizisindeki Öğeleri Yazdır
Diziler programlarda kullanıldığında, görüntülenmeleri zorunludur. Dizi öğelerini görüntülemek için, for döngüsü, forEach döngüsü, Arrays sınıfının toString yöntemi, vb. Gibi özel yöntemler kullanırız. Bu konu, dizi öğelerini yazdırmak için kullanılan çeşitli yöntemleri içerir.
Aşağıda, dizi öğelerini yazdırmak için 'Arrays' sınıfının toString yöntemini kullanan bir program verilmiştir.
import java.util.*; public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('Array Elements : ' + Arrays.toString(myArray)); } }
Çıktı:
Java'da Dizi Uzunluğu
Bir dizinin uzunluğu, dizide bulunan öğelerin sayısını gösterir. Dizinin uzunluğunu almak için 'sizeof' operatörünü kullandığımız C / C ++ 'dan farklı olarak, Java dizisi' length 'özelliğine sahiptir. Bu mülk hakkında daha sonra daha fazlasını keşfedeceğiz.
Aşağıda bir Dizi'nin uzunluğunu gösteren program verilmiştir.
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; System.out.println('Size of the given array : ' + myArray.length); } }
Çıktı:
Bu programda, diziyi dizi hazır bilgisini kullanarak başlattık ve daha sonra length özelliğini kullanarak dizinin boyutunu / uzunluğunu görüntüledik.
Java Dizisi Veri Türleri
Tüm veri türlerinden dizilere sahip olabilirsiniz. Bu konuda, farklı veri türlerine sahip dizileri ve tanımlarını inceleyeceğiz.
Aşağıdaki programda, int ve string tipi dizileri tanımladık ve ilgili içeriklerini gösterdik. .
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; String() strArray = {'one','two','three','four','five'}; System.out.println('Elements of int array : ' + Arrays.toString(myArray)); System.out.println('Elements of String array : ' + Arrays.toString(strArray)); } }
Çıktı:
Bir Diziye Eleman Ekleme
Diziye bir elemanın eklenmesi önemli bir işlemdir. Java'daki diziler statiktir ve sabit uzunluktadır. Bu nedenle, diziye yeni bir öğe eklemek için belirli bir işlem kümesi sağlamanız gerekir. Diziye eleman eklemenin çeşitli yöntemleri burada tartışılacaktır.
Diziye öğe ekleme yöntemlerinden biri, ArrayList'i ara yapı olarak kullanmaktır. Diziyi ArrayList'e dönüştürüyoruz. Ardından öğeyi ArrayList'e ekliyoruz ve ArrayList'i tekrar array olarak değiştiriyoruz.
Aşağıdaki program bu uygulamayı göstermektedir.
import java.util.*; class Main { public static void main(String() args) { int n = 10; int i; Integer intArray() = { 1, 2, 3, 4, 5 }; System.out.println('Original Array:
' + Arrays.toString(intArray)); int num = 10; Listintlist = new ArrayList(Arrays.asList(intArray)); intlist.add(num); intArray = intlist.toArray(intArray); System.out.println('
Array after adding ' + num + '
' + Arrays.toString(intArray)); } }
Çıktı:
tutulmada yeni java projesi oluştur
Diziden Bir Öğeyi Kaldırma / Silme
Bir diziden bir elemanı çıkarmak da başka bir önemli işlemdir. Java, bir öğeyi kaldırmamıza doğrudan izin vermiyor. Bu yüzden bunu yapmak için başka seçenekler kullanıyoruz.
Aşağıda verilen yöntemlerden birinin uygulanması verilmiştir. bir ArrayList kullanarak bir diziden öğeyi kaldırın .
import java.util.*; importjava.util.stream.*; class Main { public static void main(String() args) { int() tensArray = { 10,20,30,40,50}; System.out.println('Input Array: '+ Arrays.toString(tensArray)); int index = 1; System.out.println('Index to be removed: ' + index); if (tensArray == null || index = tensArray.length) { System.out.println('No element to delete'); } ListtensList = IntStream.of(tensArray).boxed().collect(Collectors.toList()); tensList.remove(index); tensArray = tensList.stream().mapToInt(Integer::intValue).toArray(); System.out.println('Array after deleting element at '+ index + ':
'+ Arrays.toString(tensArray)); } }
Çıktı:
Burada, önce diziyi ArrayList'e dönüştürüyoruz ve ardından ArrayList yöntemini kullanarak elemanı kaldırıyoruz. Bundan sonra, ArrayList'i tekrar diziye dönüştürüyoruz ve değiştirilen diziyi çıkarıyoruz.
Java'da Dizi Kopyalama
Dizi elemanlarını bir diziden diğerine kopyalamak için bazı işlemleri tartışacağız. Dizilerin sığ ve derin kopyalanmasını da tartışacağız.
Böyle bir yöntem, java.util paketinin Arrays sınıfının copyOf () yöntemidir. .
import java.util.*; public class Main { public static void main(String() args) { int() intArray = {10,15,20,25,30,35,40}; int array_len = intArray.length; System.out.println('Original Array:' + Arrays.toString(intArray)); int() copy_intArray = Arrays.copyOf(intArray, array_len); System.out.println('Copied Array:' + Arrays.toString(copy_intArray)); } }
Çıktı:
Arrays sınıfının 'copyOf' yöntemi, bağımsız değişken olarak belirtilen diziyi uzunluğuyla birlikte başka bir diziye kopyalar.
Java'da Dizi Klonlama
Ayrıca Java'da bir dizinin bir klonunu da oluşturabilirsiniz. Java, ArrayUtils paketinde bunun için bir yöntem sağlar. Burada klonlama hakkında daha fazlasını keşfedeceğiz.
Java'da bir diziyi klonlayan basit bir örnek uygulayalım.
import java.util.*; class Main { public static void main(String args()) { int num_Array() = {5,10,15,20,25,30}; int clone_Array() = num_Array.clone(); System.out.println('Original num_Array:' + Arrays.toString(num_Array)); System.out.println('Cloned num_Array:'+ Arrays.toString(clone_Array)); } }
Çıktı:
Bu nedenle, klonlama sadece farklı bir yöntem kullanarak kopyalamaktır.
Java'da Dizileri Sıralama
Dizi öğelerini sıralamak veya artan veya azalan düzende sıralamak önemli işlemlerden biridir. Uygulamaların çoğu, verilerinin sıralanmasına ihtiyaç duyar. Java, diziler için bir filtre sıralaması sağlar. Bunu sıralama altında ayrıntılı olarak tartışacağız.
Aşağıdaki basit bir örnektir s Arrays.sort () yöntemini kullanarak Jave'de bir dizi orting .
import java.util.Arrays; public class Main { public static void main(String() args) { int() num_Array = {115,32,56,78,94,108,100,63}; System.out.println('Original Array: ' + Arrays.toString(num_Array)); Arrays.sort(num_Array); System.out.println('Sorted Array: ' + Arrays.toString(num_Array)); } }
Çıktı:
Yukarıda gösterildiği gibi, Arrays sınıfının sıralama yöntemi, dizi öğelerini artan sırada sıralar.
Java'da Bir Diziyi Ters Çevir
Eleman sırasının tersine çevrilmesi de diziler tarafından sağlanmamaktadır. Tıpkı kaldırmak gibi, bazı geri dönüşler yapmalı ve sonuçları elde etmeliyiz. Bu konuda, bir diziyi tersine çevirme yöntemlerini göreceğiz.
Aşağıdaki program, Bir diziyi ters çevirme uygulaması .
import java.util.*; public class Main { public static void main(String() args) { Integer () even_Arrayr = {2,4,6,8,10}; System.out.println('Original Array:' + Arrays.asList(even_Arrayr)); Collections.reverse(Arrays.asList(even_Arrayr)); System.out.println('Reversed Array:' + Arrays.asList(even_Arrayr)); } }
Çıktı:
ArrayIndexOutOfBounds İstisnası
Dizi öğelerine belirtilen uzunluğun veya negatif bir dizinin ötesinde erişmeye çalıştığınızda, derleyici 'ArrayIndexOutOfBounds' istisnasını atar. İlgili konumuzda bu istisna hakkında daha fazla araştırma yapacağız.
import java.util.ArrayList; public class Main { public static void main(String() args) { ArrayListmyList = new ArrayList(); myList.add('one'); myList.add('two'); System.out.println(myList.get(2)); } }
Çıktı :
Yukarıdaki programda, iki girişli bir ArrayList var ve mevcut olmayan 2. indeks girişini almaya çalışıyoruz. Bu nedenle program IndexOutofBounds İstisnası verir.
Java Dize Dizisi ve Çeşitli Yöntemler
Java tarafından desteklenen tüm veri türleri arasında String en önemlisidir. Bu nedenle String tipi dizi de özel bir tartışmayı hak ediyor. Bir dizge dizisinde bulunan veriler çoğunlukla metin olduğundan, metni işlemek için sağlanan çeşitli yöntemler vardır.
import java.util.ArrayList; public class Main { public static void main(String() args) { String() rgb = {'Red', 'Green', 'Blue'}; System.out.println('The string array elements:'); for (String item: rgb) { System.out.print(item + ' '); } } }
Çıktı:
Bu, dizi dizisi için temel bir programdır. Bir dizge dizisi tanımladık ve içeriğini forEach döngüsünü kullanarak görüntüledik.
Java'da Çok Boyutlu Diziler
Şimdiye kadar sadece tek boyutlu diziler gördük. Java ayrıca, çoğunlukla satırlar ve sütunlar halinde düzenlenmiş öğelere sahip çok boyutlu dizileri de destekler. Dizinin her bir öğesi başka bir dizi içerebildiğinden, Java'daki diziler daha karmaşık hale gelir.
Java'daki çok boyutlu dizileri burada özel işlemleriyle birlikte keşfedeceğiz.
İki boyutlu bir dizi örneği uygulayalım.
class Main { public static void main(String args()) { // declaring and initializing 2D array int array_2d()() = { {1,2,3},{4,5,6},{7,8,9} }; System.out.println('The two-dimensional array is as follows:'); for (int i=0; i<3 ; i++) { for (int j=0; j < 3 ; j++) System.out.print(array_2d(i)(j) + ' '); System.out.println(); } }
Çıktı:
Java Nesne Dizisi
İlkel türleri depolamanın yanı sıra, java dizileri nesneleri de depolayabilir. Bu konuda, bir dizi nesnenin bazı örneklerini inceleyeceğiz.
Aşağıda bir örnek verilmiştir.
class Main{ public static void main(String args()){ Test testobj() = new Test(2) ; testobj(0) = new Test(); testobj(1) = new Test(); testobj(0).setData(1,3); testobj(1).setData(2,4); System.out.println('For Array Element 0 (testobj(0)):'); testobj(0).displayData(); System.out.println('For Array Element 1 (testobj(1)):'); testobj(1).displayData(); } } class Test{ int val1; int val2; public void setData(int c,int d){ val1=c; val2=d; } public void displayData(){ System.out.print('val1 ='+val1 + '; val2 ='+val2 + '
'); } }
Çıktı:
Nesne olarak eleman içeren dizilerimiz olabilir. Yukarıdaki programda, Test sınıfının bir dizi nesnesine sahibiz. Değerleri ayarlamak ve görüntülemek için her nesne için ayrı ayrı üye işlevleri çağırıyoruz.
en iyi ücretsiz kayıt onarım pencereleri 10
Java'da Dizi Döndürme
Aynı şekilde, herhangi bir yöntemden bir değişken döndürdüğümüzde, bir dizi de döndürebiliriz. Benzer şekilde, bir diziyi bir yönteme geçirebiliriz. Bu olasılıkların ikisi de burada örneklerle tartışılacaktır.
Genellikle, diziye bir başvuru bir yönteme / yöntemden aktarılır.
Aşağıdaki program Java'da bir dizinin Dönüşünü göstermektedir .
class Main { static int() add_sub(int val1, int val2) { int() result = new int(2); result(0) = val1 + val2; result(1) = val1 - val2; return result; } public static void main(String() args) { int() result = add_sub(10, 5); System.out.println('val1 + val2 = ' + result(0)); System.out.println('val1 - val2 = ' + result(1)); } }
Çıktı:
Yukarıdaki programda iki işlem gerçekleştiriyoruz, yani iki sayının toplanması ve çıkarılması. Her işlemin sonucu dizide bir öğe olarak saklanır. Daha sonra tüm dizi başvurusu çağıran işleve döndürülür.
Java Dizi Sınıfı
Java dizi sınıfı, dizileri işlemek için işlevsellik sağlayan java.util paketinden bir sınıftır. Bir diziyi kopyalama, sıralama, diziyi dizeye dönüştürme vb. Gibi birçok işlev sağlar.
Java Genel Dizisi
Java'da türden bağımsız varlıklar olan jenerikleri zaten görmüştük. Java dizileri, türlerden bağımsız olarak tanımlanabilecekleri genel olabilir. Ancak bayt kodu üretildiğinde genel kod mevcut değildir ve bu nedenle öğenin türünü çıkarmak zordur, dizi çalışma zamanında tutacaktır.
Bu nedenle, jeneriklere ihtiyaç duyulduğunda diziler yerine Java koleksiyon çerçevesinden listelere geçiyoruz.
Bununla birlikte, bir veya daha fazla yöntem kullanarak jenerik benzeri bir dizi yapısına da sahip olabiliriz. Burada bu yöntemleri inceleyeceğiz.
Nesne dizilerini kullanan yöntemlerden birine bir örnek aşağıda verilmiştir.
import java.util.Arrays; class Main { public static void main(String() args) { final int length = 5; //integer array object from Generic_Array class Generic_ArrayintArray = new Generic_Array(length); for (int i = 0; i Çıktı:

Dolayısıyla, yukarıdaki programda, nesne dizisini bir öğe olarak içeren genel bir dizi sınıfı ve dizi nesnelerini almak / ayarlamak için get / set yöntemlerini yazdık. Ayrıca Arrays sınıfının toString yöntemini de geçersiz kıldık. Main sınıfında, Integer ve String türünde bir jenerik dizi sınıfından iki nesne oluşturur ve bunlara uygun değerleri atarız.
Java'da Pürüzlü Diziler
Çentikli diziler, her üye dizisi farklı boyutlarda olan çok boyutlu dizilerdir. Bir Jagged dizi, aynı zamanda bir dizi dizisi örneğidir.
Aşağıdaki program Jagged dizisinin bir örneğini göstermektedir.
class Main { public static void main(String() args) { int jagged_array()() = new int(2)(); jagged_array(0) = new int(4); jagged_array(1) = new int(2); for (int i=0; i Çıktı:

Yukarıdaki programda bir 2D dizimiz var. İlk dizi boyutu 4 iken ikincisi 2'dir. Çıktı, Jagged dizisinin her iki boyutunun içeriğini gösterir.
Java 8'de Diziler
Java 8, Java'nın büyük bir sürümü olduğu için, dizilere getirdiği değişiklikleri inceleyeceğiz. Örneğin, Dizilerdeki akışlar Java 8'de tanıtıldı.
Diziyi Java'da İçe Aktar
'Java.util' paketinin 'Diziler' sınıfını içe aktararak Java'daki diziler için ek işlevler ekleyebiliriz.
Daha fazla işlevsellik için arrayutils paketini içe aktarabiliriz. Önceki örneklerimizden içe aktarma işlevi hakkında daha fazla bilgi edinmiş olmalısınız.
Java Dizisi API ve Belgeleri
Java dizi API'si, Java dizileri üzerinde hareket eden tüm işlevlerin bir koleksiyonudur. Bu uygulama programlama arayüzünü (API) burada inceleyeceğiz.
Sonunda, tüm özellikleri ve yöntemleri, Java dizileri için açıklamalarıyla birlikte listeledik. Bu, okuyuculara hızlı bir referansla yardımcı olacaktır.
Sıkça Sorulan Sorular
S # 1) Diziler Java'da ilkel veri türleri midir?
Cevap: Hayır. Diziler ilkel veri türleri değildir, ancak diziler aynı veri türündeki öğeleri bitişik konumlarda tutan kap nesneleridir.
S # 2) Java'da Diziler başvuru türleri midir?
Cevap: Evet. Dizi, nesnelerin bulunduğu bir kaptır ve başvuru olarak değerlendirilir.
S # 3) Java'da bir dizinin boyutunu artırabilir misiniz?
Cevap: Hayır. Dizileri bildirir ve boyut ile somutlaştırırsınız. Bir kez belirtildikten sonra dizinin boyutunu değiştiremezsiniz.
Sonuç
Bu eğitimde, size Java'daki diziler kavramını tanıttık. Java dizileriyle ilgili ana konuları tartıştık.
Sonraki eğitimlerimizde, Java'daki Diziyle ilgili bu konuları ayrıntılı olarak inceleyeceğiz.
Mutlu Öğrenmeler !!
Önerilen Kaynaklar
- Java DataTypes, Loops, Arrays, Switch ve Assertions
- Java İstisnaları ve Örneklerle İstisna İşlemleri
- Örneklerle Java Jenerik Eğitimi
- Java Arayüzü ve Örneklerle Soyut Sınıf Eğitimi
- Java Programlama Diline Giriş - Video Eğitimi
- String Buffer ve String Builder Eğitimi ile Java String
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi
- C #’da Çok Boyutlu Diziler ve Pürüzlü Diziler