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