Liste og matriser er to måter å lagre data på i Java som du vil bruke ganske ofte. I prosjekter der du trenger å lagre data uten noen form for filhåndtering, lar lister og arrays deg lagre data gjennom hele programmets utførelse. Vi skal bruke Class ArrayList som implementerer List Interface i Java om hverandre gjennom denne opplæringen.
Forskjellen mellom liste og matrise
Liste |
Array |
Størrelsen på en liste kan endres |
Størrelsen på en matrise kan ikke endres |
Du kan ikke lagre primitive typer i List |
Du kan lagre primitive typer i Array |
Du kan bruke Generics med List |
Du kan ikke bruke Generics med Array |
Bruker mer minne |
Bruker mindre minne |
Konvertering av liste til matrise med bibliotekfunksjon
List har en
toArray() -metode som direkte konverterer innholdet i en hvilken som helst liste til en matrise mens den beholder plasseringen av tekst i matrisen slik den var i den opprinnelige listen. Her er algoritmen/trinnene for å konvertere en liste til array i java ved å bruke denne innebygde bibliotekfunksjonen.
- Initialiser en ArrayList.
- Legg til elementer i listen gjennom metoden list.add(data_type) .
- Lag en matrise med samme størrelse som listen.
- Konverter listen til en matrise ved å bruke variabelnavnet til matrisen opprettet i trinn 3 som et argument.
- Skriv ut innholdet i matrisen.
Koden som implementerer disse trinnene er gitt 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 av liste til matrise uten bibliotekfunksjon
Noen ganger kan det være et krav om å konvertere listen til en matrise uten å bruke innebygde funksjoner. Problemet kan bruke visse begrensninger når det gjelder bibliotekfunksjoner. Dette kravet er vanlig for programmeringsstudenter som oppfordres til å jobbe uten bibliotekfunksjoner for å hjelpe dem med å lære de indre funksjonene til disse funksjonene før de implementerer dem. I slike tilfeller kan du bruke følgende trinn for å konvertere en liste til en matrise i java uten noen bibliotekfunksjon.
- Initialiser en ArrayList.
- Legg til elementer i listen gjennom metoden list.add(data_type) .
- Lag en matrise med samme størrelse som listen.
- Lag en for-løkke som vil iterere gjennom hvert element i ArrayList og sende den til Array[index] gjennom list.get(index) -funksjonen.
- Skriv ut innholdet i matrisen for å vise at du faktisk konverterer listen til en matrise.
Koden for implementering av disse trinnene er gitt 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åte, hvis du også lurer på hvordan du konverterer en matrise til en liste, kan du gjøre det ved å bruke den innebygde
Array.asList()- metoden eller iterere gjennom matrisen og lagre verdier ved hver indeks i listen.
GO TO FULL VERSION