Liste og arrays er to måder at gemme data på i Java, som du vil bruge ret ofte. I projekter, hvor du har brug for at gemme data uden nogen form for filhåndtering, lader liste og arrays dig gemme data gennem hele programmets udførelse. Vi bruger Class ArrayList, der implementerer List Interface i Java i flæng gennem denne øvelse.
Forskellen mellem List og Array
Liste |
Array |
Størrelsen på en liste kan ændres |
Størrelsen af et array kan ikke ændres |
Du kan ikke gemme primitive typer i Liste |
Du kan gemme primitive typer i Array |
Du kan bruge Generics med List |
Du kan ikke bruge Generics med Array |
Bruger mere hukommelse |
Bruger mindre hukommelse |
Konvertering af liste til matrix med biblioteksfunktion
List har en
toArray() -metode, som direkte konverterer indholdet af enhver liste til et array, mens tekstens placering i Array'et bibeholdes, som den var i den oprindelige liste. Her er algoritmen/trinene til at konvertere en liste til array i java ved hjælp af denne indbyggede biblioteksfunktion.
- Initialiser en ArrayList.
- Føj elementer til listen gennem metoden list.add(data_type) .
- Opret et array med samme størrelse som listen.
- Konverter listen til et array ved at bruge variabelnavnet på arrayet oprettet i trin 3 som et argument.
- Udskriv indholdet af Arrayet.
Koden, der implementerer disse trin, er angivet nedenfor.
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] + " ");
}
}
}
Konvertering af liste til array uden biblioteksfunktion
Nogle gange kan der være et krav om at konvertere listen til et array uden at bruge indbyggede funktioner. Det aktuelle problem kan bruge visse begrænsninger med hensyn til biblioteksfunktioner. Dette krav er almindeligt for programmeringsstuderende, der opfordres til at arbejde uden biblioteksfunktioner for at hjælpe dem med at lære de indre funktioner i disse funktioner, før de implementeres. I sådanne tilfælde kan du bruge følgende trin til at konvertere en liste til et array i java uden nogen biblioteksfunktion.
- Initialiser en ArrayList.
- Føj elementer til listen gennem metoden list.add(data_type) .
- Opret et array med samme størrelse som listen.
- Opret en for-løkke, der vil iterere gennem hvert element i ArrayList og sende det til Array[index] gennem funktionen list.get(index) .
- Udskriv indholdet af arrayet for at vise, at du rent faktisk konverterer listen til et array.
Koden til implementering af disse trin er angivet nedenfor.
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] + " ");
}
}
}
På samme måde, hvis du også undrer dig over, hvordan du konverterer et array til en liste, kan du gøre det ved at bruge den indbyggede
Array.asList()- metode eller iterere gennem arrayet og gemme værdier ved hvert indeks i listen.
GO TO FULL VERSION