CodeGym /Java Blogu /Rastgele /Dizinin Java'da ArrayList'e Dönüştürülmesi
John Squirrels
Seviye
San Francisco

Dizinin Java'da ArrayList'e Dönüştürülmesi

grupta yayınlandı
MERHABA! Bugünün dersinde, Java'da Dizi Başlatma ve Diziyi Dizi Listesine Dönüştürme hakkında konuşacağız. Diziler, Java'daki Container sınıfının bir uzantısıdır ve veri miktarı özellikle bilindiğinde bir dizi ilkel veri türünü geçici olarak tutmanın bir yolu olarak yararlı olabilir. Ancak Diziler oluşturulduğunda statiktir, yani bir tane oluşturduğunuzda tuttuğu öğelerin sayısını değiştiremezsiniz. Java'da bir diziyi nasıl başlatacağınızı hatırlamalısınız; şuna benziyor:

datatype[] isArray;
Veri tipi, int, float, long ve hatta String gibi herhangi bir ilkel veri tipidir. Köşeli parantezleri aşağıdaki gibi bildirimden sonra da yerleştirebilirsiniz:

datatype isArray[];
Peki, bu statik diziyi belirli sayıda elemanla nasıl alıp bir ArrayList'e dönüştüreceğiz? Öncelikle ArrayList'in ne olduğuna bakalım.

Dizi Listesi

ArrayList, Array'e benzer bir ada sahip olabilir, ancak tamamen farklı bir şekilde ele alınır. Bunun nedeni, bir ArrayList'in Container sınıfını genişletmemesi, List sınıfını genişletmesidir. Ve bu, her şeyin farklı şekilde ele alındığı anlamına gelir. Birincisi, bu bir Liste olduğu için onu farklı şekilde işleyebilirsiniz. ArrayList'in boyutunu , öğeyi Listenin sonuna yerleştiren ve gerekirse boyutu bir artıran add(element) kullanarak artırabilir veya azaltabilirsiniz . Veya trimToSize() kullanabilirsinizsondaki boş dizinleri kaldırır ve ArrayList'i geçerli boyutuna göre kırpar. Böylece, yalnızca bir dizi yerine bir ArrayList kullanmanın birkaç avantajı olduğunu görebilirsiniz. Şimdi size bir Array'den ArrayList'e dönüştürmenin iki yöntemini ve gerekirse nasıl geri dönebileceğinizi göstereceğiz.

Java'da Array'den ArrayList'e ve ArrayList'ten Array'e Geçiş

Diyelim ki, şirketinizin kedi ağaçlarını onarmak için elinde ne kadar somun ve cıvata olduğunun bir envanterini tutacak bir program yazdınız. Yıllardır sadece 30 farklı türe ihtiyaç duydunuz, bu yüzden takip etmek için bir dizi kullanmak çok kolay. Ama şimdi ek 5 tip stoklamanızı isteyen yeni bir müşteriniz var. Programınızı nasıl değiştirebilir ve tüm verilerinizi saklayabilir VE başka bir müşteriyi ararken bunu tekrar yapmak zorunda kalmayabilirsiniz? Bu doğru! Bir Dizi Listesi! Peki bir Java Dizisini ArrayList'e nasıl dönüştürürsünüz? Üç yöntem var. .asList() yöntemini kullanma Java dizileri, .asList() adlı API'ye baktığınızda görebileceğiniz harika bir araca sahiptir . Yani sadece şunu yazabilirsin:

boltInventory.asList(bolts);
Bu yöntemin sorunu, gerçek bir ArrayList oluşturmamasıdır. Yaptığı şey, boyutu sabit ve değiştirilemez bir Liste oluşturmaktır. Yani boyutu hala dinamik bir şekilde değiştiremezsiniz. Öğe eklemeye veya kaldırmaya çalışmak bir istisnaya neden olur. Dolayısıyla, bunun kullanımları olsa da, gerçek bir dönüşüm değildir. Ama bunu kullanabiliriz. .asList() öğesini Argüman Olarak Kullanma Bu, Java'da bir diziyi listeye dönüştürmenin ikinci yoludur. .asList () yöntemi bir Liste oluşturduğundan, bunu gerçek ArrayList'imize bir başvuru iletmek için kullanabiliriz. Bir ArrayList'i şu şekilde başlatabilirsiniz:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>();
Bu, on boş hücreye sahip bir ArrayList yaratacaktır. Ancak, sondaki () ArrayList'i dolduracak bir bağımsız değişken iletmek için kullanılabilir. Böylece, .asList yöntemiyle birleştirerek şunları elde edersiniz:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>(Arrays.asList(bolts));
Bu, .asList() yöntemi tarafından oluşturulan Listeyi ArrayList'e iletir, böylece artık onu istediğiniz gibi dinamik olarak değiştirebilirsiniz. Collections.addAll() yöntemini kullanma Java'da bir Diziyi ArrayList'e dönüştürmenin başka bir yolu da bu yöntemi kullanmaktır. Dizinin içeriğini ArrayList'e iletir. Bu yöntemin genel sözdizimi şöyledir:

Collections.addAll(c, T);
Burada c varış noktasıdır ve T geçilmekte olan şeydir. Örneğimiz için, sözdizimi şöyle görünür:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>():
Collections.addAll(boltsInventory, bolts);
Bu, Array cıvatalarının tüm içeriğini yeni ArrayList'e iletecektir. ArrayList'i Diziye Dönüştürme Java'da ArrayList'i Diziye dönüştürmeniz gereken zamanlar olabilir. Bunu yaparsanız, ArrayList'in bir yöntemi vardır .toArray(a) burada a hedeftir. Örneğimiz için, sözdizimi şöyle olacaktır:

Integer boltsInventoryArray[] = new Integer{boltsInventory.size()];
// this ensures the newly created array is of the same size as the ArrayList
boltsInventoryArray = boltsInventory.toArray(boltsInventoryArray);
Bir listeyi Java'da bu şekilde dizi olarak değiştirdiğinizde, derin bir kopya oluşturuyorsunuz. Diğer bir deyişle, Array'e yapılan tüm başvurular, ArrayList'e yapılan başvurulardan farklıdır. Böylece, ArrayList'te saklanan verileri değiştirmeden Array'deki verileri değiştirebilirsiniz. Verileri test etmeniz gerektiğinde bir java listesini bir diziye dönüştürmek kullanışlıdır.

Çözüm

Diziler, daha küçük veri kümelerine hızlı erişim ve hızlı manipülasyon için çok kullanışlıdır, ancak boyutlarını değiştirememeleri, uzun süreli kullanım için verimliliklerini hızla kaybetmeleri anlamına gelir. Bir ArrayList size bu esnekliği ve gerektiğinde düğümleri ekleme ve çıkarma yeteneği sağlar. Bir Java Dizisini Listeye nasıl dönüştüreceğinizi öğrenmek, programlarınızın genel verimliliğini artıracak ve çalışma sürelerini de iyileştirecektir.
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION