Konwertuj listę na tablicę w Javie

Konwertuj listę na tablicę w Javie
Lista różni się od tablicy w tym sensie, że może rosnąć lub kurczyć się. Może również mieć elementy włożone na jego długości, a zatem zwiększenie długości. Może również usunąć swoje elementy. Jeśli celem listy nie jest sprawienie, by rosła, zmniejszała ani nie ma żadnej specjalnej funkcji, należy użyć tablicy. I tak konieczne byłoby przekonwertowanie listy na tablicę.

W Javie lista nie jest klasą. To jest interfejs. Interfejs w Javie jest jak klasa abstrakcyjna, ale nie ma być podklas. Interfejs ma mieć niepowiązane klasy. Deklaracje metody bez treści interfejsu są zdefiniowane w klasie zaimplementowanej z interfejsu. Nie należy tego mylić z instancją. Obiekt jest utworzony z klasy. Metoda jest zaimplementowana z metody abstrakcyjnej, która może być członkiem interfejsu lub klasy abstrakcyjnej. W przypadku interfejsu deklaracja metody „abstrakcyjnej” nie jest poprzedzona zarezerwowanym słowem, Streszczenie. Uwaga: mówi się, że klasa utworzona z interfejsu zaimplementowała interfejs.

Wśród klas listy już zaimplementowanych w kompilatorze Java są ArrayList, LinkedList i Vector. Te trzy klasy zostaną wykorzystane do pokazania, w jaki sposób listę można przekonwertować w tablicę w tym artykule, zaczynając od ArrayList.

Przekształcenie tablicy w tablicę

ArrayList jest w Javie.pakiet UTIL. Klasa ArrayList ma dwie metody konwersji swojego obiektu na tablicę. Metody to: toArray () i toaRray (t [] a).

Object [] toarray ()

Za pomocą tej metody Java przekształca wartości obiektu arraylist w tablicę obiektów klasy, obiekt. Wszystkie klasy są potomkami obiektu klasowego (zaczynając od wielkimi O). Obiekt obiektu klasy ma metodę toString (). System.na zewnątrz.print () może użyć tej metody (samodzielnie) do wydrukowania wartości obiektów tablicy jako ciągów.

Poniższy program ilustruje to:

Importuj Java.Util.*;
Klasa publiczna THEClass
public static void main (string [] args)
ArrayList num = new ArrayList ();
Nums.Dodaj (1); Nums.Dodaj (2); Nums.Dodaj (3); Nums.Dodaj (4); Nums.Dodaj (5);
Object [] obj = nums.toarray ();
dla (int i = 0; iSystem.na zewnątrz.print (obj [i]); System.na zewnątrz.wydrukować(");

System.na zewnątrz.println ();

Wyjście to:

1 2 3 4 5

Instatiation of the ArrayList ma odniesienie, a nie prymitywny typ. Tak więc należy tam używać „liczby całkowitej” zamiast „int”.

T [] toarray (t [] a)

Z powyższą metodą wartość w arrayList jest konwertowana na obiekt przed systemem.na zewnątrz.Wyrażenie print () wydrukowałoby to jako ciąg. Aby mieć każdą wartość w ArrayList jako ten sam typ w tablicy powrotnej, programista musi użyć tej metody „T [] toArray (t [] a)”. T jest rodzajem wartości w ArrayList. T jest również rodzajem wartości poszukiwanej w tablicy powrotnej. Składnia instrukcji do tego jest:

T [] retarr = alobj.toarray (tablica-t);

gdzie Retarr to tablica powrotu, a Alobj jest obiektem ArrayList. Array-of-T to tablica ze wszystkimi zerowymi wartościami wymaganej długości. Poniższy kod metody main () ilustruje użycie tej metody:

public static void main (string [] args)
ArrayList NUMS = nowy ArrayList();
Nums.Dodaj (1); Nums.Dodaj (2); Nums.Dodaj (3); Nums.Dodaj (4); Nums.Dodaj (5);
Integer [] arr = nowa liczba całkowita [Nums.rozmiar()];
Integer [] retarr = nums.toarray (ARR);
dla (int i = 0; iSystem.na zewnątrz.print (retarr [i]); System.na zewnątrz.wydrukować(");

System.na zewnątrz.println ();

Wyjście to:

1 2 3 4 5

Przekształcanie LinkedList w tablicę

LinkedList jest w Javie.pakiet UTIL. Klasa LinkedList ma dwie metody konwersji swojego obiektu na tablicę. Metody to: toArray () i toaRray (t [] a).

Object [] toarray ()

Za pomocą tej metody Java przekształca wartości obiektu Linkedlist w szereg obiektów klasy, obiekt. Wszystkie klasy są potomkami obiektu klasowego (zaczynając od wielkimi O). Obiekt obiektu klasowego ma metodę toString (). System.na zewnątrz.print () może użyć tej metody (samodzielnie) do wydrukowania wartości obiektów tablicy jako ciągów.

Poniższy program ilustruje to:

Importuj Java.Util.*;
Klasa publiczna THEClass
public static void main (string [] args)
Połączona listaNUMS = nowa LinkedList();
Nums.Dodaj (1); Nums.Dodaj (2); Nums.Dodaj (3); Nums.Dodaj (4); Nums.Dodaj (5);
Object [] obj = nums.toarray ();
dla (int i = 0; iSystem.na zewnątrz.print (obj [i]); System.na zewnątrz.wydrukować(");

System.na zewnątrz.println ();

Wyjście to:

1 2 3 4 5

Instatowanie listy Linked ma odniesienie, a nie prymitywny typ. Tak więc należy tam używać „liczby całkowitej” zamiast „int”.

T [] toarray (t [] a)

Z powyższą metodą wartość w LinkedList jest konwertowana na obiekt przed systemem.na zewnątrz.Wyrażenie print () wydrukowałoby to jako ciąg. Aby mieć każdą wartość w LinkedList jako ten sam typ w zwróconej tablicy, programista musi użyć tej metody „T [] toArray (t [] a)”. T jest rodzajem wartości w LinkedList. T jest również rodzajem wartości poszukiwanej w tablicy powrotnej. Składnia instrukcji do tego jest:

T [] retarr = llobj.toarray (tablica-t);

gdzie Retarr jest tablicą powrotu, a LlOBJ jest obiektem Linkedlist. Array-of-T to tablica ze wszystkimi zerowymi wartościami wymaganej długości. Poniższy kod metody main () ilustruje użycie tej metody:

public static void main (string [] args)
Połączona lista NUMS = new LinkedList ();
Nums.Dodaj (1); Nums.Dodaj (2); Nums.Dodaj (3); Nums.Dodaj (4); Nums.Dodaj (5);
Integer [] arr = nowa liczba całkowita [Nums.rozmiar()];
Integer [] retarr = nums.toarray (ARR);
dla (int i = 0; iSystem.na zewnątrz.print (retarr [i]); System.na zewnątrz.wydrukować(");

System.na zewnątrz.println ();

Wyjście to:

1 2 3 4 5

Przekształcenie wektora na tablicę

Wektor jest w Javie.pakiet UTIL. Klasa wektorowa ma dwie metody konwersji swojego obiektu na tablicę. Metody to: toArray () i toaRray (t [] a).

Object [] toarray ()

Za pomocą tej metody Java przekształca wartości obiektu wektora w tablicę obiektów klasy, obiekt. Wszystkie klasy są potomkami obiektu klasowego (zaczynając od wielkimi O). Obiekt obiektu klasy ma metodę toString (). System.na zewnątrz.print () może użyć tej metody (samodzielnie) do wydrukowania wartości obiektów tablicy, jako ciągów.

Poniższy program ilustruje to:

Importuj Java.Util.*;
Klasa publiczna THEClass
public static void main (string [] args)
Wektor NUMS = nowy wektor();
Nums.Dodaj (1); Nums.Dodaj (2); Nums.Dodaj (3); Nums.Dodaj (4); Nums.Dodaj (5);
Object [] obj = nums.toarray ();
dla (int i = 0; iSystem.na zewnątrz.print (obj [i]); System.na zewnątrz.wydrukować(");

System.na zewnątrz.println ();

Wyjście to:

1 2 3 4 5

Tworzenie wektora, ma odniesienie, a nie prymitywny typ. Tak więc należy tam używać „liczby całkowitej” zamiast „int”.

T [] toarray (t [] a)

Z powyższą metodą wartość w wektorze jest konwertowana na obiekt przed systemem.na zewnątrz.Wyrażenie print () wydrukowałoby to jako ciąg. Aby mieć każdą wartość w wektorze jako ten sam typ w zwróconej tablicy, programista musi użyć tej metody „t [] toArray (t [] a)”. T jest rodzajem wartości w LinkedList. T jest również rodzajem wartości poszukiwanej w tablicy powrotnej. Składnia instrukcji do tego jest:

T [] retarr = VOBJ.toarray (tablica-t);

gdzie Retarr to tablica powrotu, a VOBJ jest obiektem wektorowym. Array-of-T to tablica ze wszystkimi zerowymi wartościami wymaganej długości. Poniższy kod metody main () ilustruje użycie tej metody:

public static void main (string [] args)
Wektor NUMS = nowy wektor();
Nums.Dodaj (1); Nums.Dodaj (2); Nums.Dodaj (3); Nums.Dodaj (4); Nums.Dodaj (5);
Integer [] arr = nowa liczba całkowita [Nums.rozmiar()];
Integer [] retarr = nums.toarray (ARR);
dla (int i = 0; iSystem.na zewnątrz.print (retarr [i]); System.na zewnątrz.wydrukować(");

System.na zewnątrz.println ();

Wyjście to:

1 2 3 4 5

Wniosek

W Javie lista nie jest klasą. To jest interfejs. Wśród klas listy już zaimplementowanych w kompilatorze Java są ArrayList, LinkedList i Vector. Każda z tych klas ma metody, toarray () i toarray (tablica). W konwersji, jeśli celem jest wydrukowanie wartości tablicy powrotnej, użyj toArray (). Jeśli celem jest posiadanie tablicy tego samego typu wartości na liście, użyj tourray (tablica).