A lista és a tömbök két módja az adatok Java-ban való tárolásának, amelyeket gyakran használ. Azokban a projektekben, ahol mindenféle fájlkezelés nélkül kell adatokat tárolnia, a listák és a tömbök lehetővé teszik az adatok tárolását a program végrehajtása során. Ebben az oktatóanyagban a Class ArrayList-et fogjuk használni, amely felváltva implementálja a List Interface-t Java nyelven.
Különbség a lista és a tömb között
Lista |
Sor |
A lista mérete módosítható |
A tömb mérete nem módosítható |
A Listában nem tárolhat primitív típusokat |
A primitív típusokat a tömbben tárolhatja |
Használhatja a Generics-t a listával |
A Generics nem használható az Array-vel |
Több memóriát fogyaszt |
Kevesebb memóriát fogyaszt |
Lista konvertálása tömbbe könyvtári funkcióval
A List rendelkezik egy
toArray() metódussal, amely bármely lista tartalmát közvetlenül tömbbé alakítja, miközben megtartja a szöveg elhelyezését a tömbben, ahogyan az eredeti listában volt. Íme az algoritmus/lépések egy lista tömbbé konvertálásához Java-ban ezzel a beépített könyvtári funkcióval.
- ArrayList inicializálása.
- Adjon hozzá elemeket a listához a list.add(data_type) metódussal.
- Hozzon létre egy, a listával megegyező méretű tömböt.
- Konvertálja a listát tömbbé a 3. lépésben létrehozott tömb változónevének argumentumként való használatával.
- Nyomtassa ki a tömb tartalmát.
Az ezeket a lépéseket végrehajtó kód az alábbiakban található.
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] + " ");
}
}
}
Lista konvertálása tömbbe könyvtári funkció nélkül
Néha előfordulhat, hogy a listát beépített függvények használata nélkül kell tömbbé alakítani. A jelen probléma bizonyos korlátozásokat alkalmazhat a könyvtári funkciók tekintetében. Ez a követelmény gyakori azoknál a programozó hallgatóknál, akiket arra ösztönöznek, hogy könyvtári funkciók nélkül dolgozzanak, hogy segítsenek nekik megtanulni e funkciók belső működését, mielőtt implementálnák őket. Ilyen esetekben a következő lépésekkel konvertálhat egy listát tömbbé Java-ban, könyvtári funkció nélkül.
- ArrayList inicializálása.
- Adjon hozzá elemeket a listához a list.add(data_type) metódussal.
- Hozzon létre egy, a listával megegyező méretű tömböt.
- Hozzon létre egy for ciklust, amely végighalad az ArrayList minden elemén, és a list.get(index) függvényen keresztül továbbítja az Array[index] -hez.
- Nyomtassa ki a tömb tartalmát, hogy megmutassa, valójában a listát tömbbé alakítja.
A lépések végrehajtásának kódja alább található.
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] + " ");
}
}
}
Hasonlóképpen, ha arra is kíváncsi, hogyan konvertálhat egy tömböt listává, ezt megteheti a beépített
Array.asList() metódussal, vagy a tömb iterációjával, és a Lista egyes indexeinél értékek tárolásával.
GO TO FULL VERSION