Listy i tablice to dwa sposoby przechowywania danych w Javie, z których często będziesz korzystać. W projektach, w których trzeba przechowywać dane bez jakiejkolwiek obsługi plików, listy i tablice pozwalają na przechowywanie danych w trakcie wykonywania programu.
W tym poradniku będziemy używać klasy ArrayList, która implementuje interfejs List w Javie.
Różnica między listą a tablicą
Lista |
Tablica |
Rozmiar listy można zmienić |
Rozmiar tablicy nie może być zmieniany |
Nie można przechowywać typów prymitywnych w liście |
W tablicy można przechowywać typy prymitywne |
Z listą możesz używać typów ogólnych |
Z tablicą nie możesz używać typów ogólnych |
Zużywa więcej pamięci |
Zużywa mniej pamięci |
Konwersja listy na tablicę w Javie przy użyciu funkcji biblioteki
Lista posiada metodę
toArray(), która bezpośrednio konwertuje zawartość dowolnej listy na tablicę, zachowując kolejność elementów w tablicy, tak jak na oryginalnej liście. Oto algorytm/kroki, które należy wykonać, aby przekonwertować listę na tablicę w Javie przy użyciu tej wbudowanej funkcji biblioteki.
- Zainicjuj ArrayList.
- Dodaj elementy do listy za pomocą metody list.add(data_type).
- Utwórz tablicę o takim samym rozmiarze jak lista.
- Przekształć listę na tablicę, używając jako argumentu nazwy zmiennej tablicy utworzonej w kroku 3.
- Wydrukuj zawartość tablicy.
Kod implementujący te kroki znajduje się poniżej.
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] + " ");
}
}
}
![Konwersja listy na tablicę w Javie - 1]()
Przekształcanie listy na tablicę bez użycia funkcji biblioteki
Czasami może być wymagana konwersja listy na tablicę bez korzystania z wbudowanych funkcji. Jednak zadanie, które mamy do wykonania, może narzucić nam pewne ograniczenia w zakresie korzystania przez nas z biblioteki. Ten wymóg jest powszechny dla studentów programowania, aby zachęcić ich do pracy bez funkcji bibliotecznych i pomóc im poznać wewnętrzne ich działanie przed ich wykorzystaniem. W takich przypadkach można wykonać następujące kroki, aby przekonwertować listę na tablicę w języku Java bez używania tych funkcji.
- Zainicjuj ArrayList.
- Dodaj elementy do listy za pomocą metody list.add(data_type).
- Utwórz tablicę o takim samym rozmiarze jak lista.
- Utwórz pętlę for, która będzie iterować przez każdy element ArrayList i użyj metody list.get(index), aby przypisać ją do Array[index].
- Wydrukuj zawartość tablicy, aby pokazać, że faktycznie przekonwertowałeś listę na tablicę.
Poniżej znajduje się kod do wykonania tych kroków.
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] + " ");
}
}
}
Podobnie, jeśli zastanawiasz się również, jak przekształcić tablicę na listę w Javie (ang. convert Java array to list), możesz to zrobić, używając wbudowanej metody
Array.asList() lub wykonując iterację po tablicy i przechowując wartości w każdym indeksie listy.
GO TO FULL VERSION