Liste ve diziler, oldukça sık kullanacağınız Java'da veri depolamanın iki yoludur. Herhangi bir dosya işleme türü olmadan veri depolamanız gereken projelerde, liste ve diziler, programınızın yürütülmesi boyunca verileri depolamanıza izin verir. Bu eğitim boyunca Java'da Liste Arayüzünü birbirinin yerine uygulayan Class ArrayList'i kullanacağız.
Liste ve Dizi Arasındaki Fark
Liste |
Sıralamak |
Bir listenin boyutu değiştirilebilir |
Bir dizinin boyutu değiştirilemez |
İlkel türleri Listede saklayamazsınız |
İlkel türleri Dizide saklayabilirsiniz |
Jenerikleri Liste ile kullanabilirsiniz |
Generics'i Array ile kullanamazsınız |
Daha fazla bellek tüketir |
Daha az bellek tüketir |
Kitaplık İşleviyle Listeyi Diziye Dönüştürme
List , herhangi bir listenin içeriğini doğrudan bir diziye dönüştürürken orijinal listede olduğu gibi Array'deki metnin yerleşimini koruyan bir
toArray() yöntemine sahiptir. İşte bu yerleşik kütüphane işlevini kullanarak bir listeyi java'da diziye dönüştürmek için algoritma/adımlar.
- Bir ArrayList'i başlatın.
- list.add(data_type) yöntemiyle Listeye öğeler ekleyin .
- Listeyle aynı boyutta bir Dizi oluşturun.
- 3. adımda oluşturulan dizinin değişken adını argüman olarak kullanarak Listeyi bir Diziye dönüştürün.
- Dizinin içeriğini yazdırın.
Bu adımları uygulayan kod aşağıda verilmiştir.
import java.util.ArrayList;
public class convertListToArray {
public static void main(String[] args) {
//Converting List to Array With Library Function
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting List to Array
sampleList.toArray(arr);
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
Listeyi Kitaplık İşlevi Olmadan Diziye Dönüştürme
Bazen, yerleşik işlevleri kullanmadan listeyi bir diziye dönüştürme gereksinimi olabilir. Eldeki problem, kütüphane fonksiyonları açısından belirli kısıtlamalar kullanabilir. Bu gereklilik, bu işlevleri uygulamadan önce bu işlevlerin iç işleyişini öğrenmelerine yardımcı olmak için kitaplık işlevleri olmadan çalışmaya teşvik edilen programlama öğrencileri için yaygındır. Bu gibi durumlarda Java'da herhangi bir kütüphane işlevi olmadan bir listeyi diziye dönüştürmek için aşağıdaki adımları kullanabilirsiniz.
- Bir ArrayList'i başlatın.
- list.add(data_type) yöntemiyle Listeye öğeler ekleyin .
- Listeyle aynı boyutta bir Dizi oluşturun.
- ArrayList'in her öğesini yineleyecek ve bunu list.get(index) işlevi aracılığıyla Array[index] 'e iletecek bir for döngüsü oluşturun.
- Listeyi gerçekten bir diziye dönüştürdüğünüzü göstermek için Dizinin içeriğini yazdırın.
Bu adımları uygulamak için kod aşağıda verilmiştir.
import java.util.ArrayList;
public class converListToArray2 {
public static void main(String[] args) {
//Converting List to Array Without Library Functions
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting to Array
for (int i = 0 ; i < arr.length ; i++){
arr[i] = sampleList.get(i);
}
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
Benzer şekilde, bir Diziyi Listeye nasıl dönüştüreceğinizi merak ediyorsanız, yerleşik
Array.asList() yöntemini kullanarak veya diziyi yineleyerek ve Listedeki her bir dizinde değerleri depolayarak bunu yapabilirsiniz.
GO TO FULL VERSION