logo

Dizi ve ArrayList arasındaki fark

Java'da, sıralamak Ve Dizi Listesi bilinen veri yapılarıdır. Dizi, Java tarafından sağlanan temel bir işlevselliktir; oysa Dizi Listesi Java Koleksiyonları çerçevesinin bir sınıfıdır. A ait java.util paket.

Java Dizisi

Bir sıralamak dinamik olarak oluşturulmuş bir nesnedir. Aynı türden sabit sayıda değeri tutan bir kap görevi görür. Bitişik bir hafıza konumuna sahiptir. Bir dizi oluşturulduktan sonra boyutunu değiştiremeyiz. Aşağıdaki ifadeyi kullanarak bir dizi oluşturabiliriz:

 int array[]=new int[size]; 

Yukarıdaki ifade belirtilen boyutta bir dizi oluşturur. Boyutundan fazlasını eklemeye çalıştığımızda fırlatıyor ArrayIndexOutOfBoundsException . Örneğin:

 int arr[]=new int[3]; //specified size of array is 3 //adding 4 elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; 

Java ArrayList sınıfı

Java'da, Dizi Listesi Koleksiyonlar çerçevesinin bir sınıfıdır. Uygular Liste, Koleksiyon, Yinelenebilir, Klonlanabilir, Serileştirilebilir , Ve Rasgele erişim arayüzler. Uzatır Özet Listesi sınıf.

Aşağıdaki ifadeyi kullanarak ArrayList'in bir örneğini oluşturabiliriz:

 ArrayList arrayList=new ArrayList(); 

ArrayList, Java'daki dizi tarafından dahili olarak desteklenir. ArrayList'teki yeniden boyutlandırma işlemi, yeni diziyi ve içeriğin eski diziden yeni diziye kopyalanmasını gerektirdiğinden performansı yavaşlatır. Yerel olarak uygulanan yöntemi çağırır System.arraycopy(sn, srcPos, hedef, destPos, uzunluk) .

ArrayList'te ilkel türü depolayamıyoruz. Yani yalnızca nesneleri saklar. İlkel türü otomatik olarak nesneye dönüştürür. Örneğin bir ArrayList nesnesi oluşturduk,

 ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList 

JVM, otomatik kutulama yoluyla onu Tamsayı nesnesine dönüştürür.

 ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object 

benzerlikler

  • Array ve ArrayList öğelerin her ikisi de öğeleri depolamak için kullanılır.
  • Array ve ArrayList'in her ikisi de boş değerleri saklayabilir.
  • Yinelenen değerlere sahip olabilirler.
  • Öğelerin sırasını korumazlar.

Aşağıdaki tabloda dizi ile ArrayList arasındaki temel farklar açıklanmaktadır:

Temel Sıralamak Dizi Listesi
Tanım Bir sıralamak dinamik olarak oluşturulmuş bir nesnedir. Aynı türden sabit sayıda değeri tutan bir kap görevi görür. Bitişik bir hafıza konumuna sahiptir. Dizi Listesi bir Java sınıfıdır Koleksiyonlar çerçeve. Gibi popüler sınıfları içerir Vektör, HashTable , Ve Hash Haritası .
Statik dinamik Dizi: statik boyutunda. DiziList: dinamik boyutunda.
Yeniden boyutlandırılabilir Bir dizi bir sabit uzunluklu veri yapısı. ArrayList bir değişken uzunluk veri yapısı. Gerektiğinde kendisi yeniden boyutlandırılabilir.
Başlatma Diziyi doğrudan veya dolaylı olarak başlatırken dizinin boyutunun belirtilmesi zorunludur. ArrayList'in boyutunu belirtmeden bir örnek oluşturabiliriz. Java, varsayılan boyutta ArrayList'i oluşturur.
Verim Gerçekleştirir hızlı Sabit boyut nedeniyle ArrayList ile karşılaştırıldığında. ArrayList, Java'daki dizi tarafından dahili olarak desteklenir. ArrayList'teki yeniden boyutlandırma işlemi performansı yavaşlatır.
İlkel/Genel tip Bir dizi her ikisini de saklayabilir nesneler Ve ilkeller tip. depolayamıyoruz ilkel ArrayList yazın. İlkel türü otomatik olarak nesneye dönüştürür.
Yinelenen Değerler Kullanırız için döngü veya her biri için Bir dizi üzerinde yineleme yapmak için döngü. Bir kullanıyoruz yineleyici ArrayList üzerinde yineleme yapmak için.
Tip-Güvenlik Dönüştürülebilir bir dizi türü olmadığından jenerikleri diziyle birlikte kullanamayız. ArrayList yalnızca depolamamıza izin verir genel/ yazın, bu nedenle tür açısından güvenlidir.
Uzunluk Dizi şunları sağlar: uzunluk Dizinin uzunluğunu belirten değişken. ArrayList şunları sağlar: boyut() ArrayList'in boyutunu belirleme yöntemi.
Öğe Ekleme kullanarak bir diziye eleman ekleyebiliriz. atama Şebeke. Java şunları sağlar: eklemek() ArrayList'e öğe ekleme yöntemi.
Tek/Çok Boyutlu Dizi olabilir çok boyutlu . ArrayList her zaman tek boyutlu .

Java'da Dizi Örneği

Aşağıdaki örnekte, uzunluğu dört olan bir dizi oluşturduk.

 public class ArrayExample { public static void main(String args[]) { //creating an array of integer type int arr[]=new int[4]; //adding elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; for(int i=0;i <arr.length;i++) { system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 12 2 15 67 </pre> <h2>Example of ArrayList in Java</h2> <p>In the following example, we have created an instance of ArrayList and performing iteration over the ArrayList.</p> <pre> import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 12.4 34.6 56.8 78.9 </pre> <hr></arr.length;i++)>

Java'da ArrayList örneği

Aşağıdaki örnekte ArrayList'in bir örneğini oluşturduk ve ArrayList üzerinde yineleme gerçekleştirdik.

 import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } 

Çıktı:

strin'i int'ye dönüştür
 12.4 34.6 56.8 78.9