Convert Elenco in Array in Java

Convert Elenco in Array in Java
Un elenco differisce da un array, nel senso che può crescere o ridursi in lunghezza. Può anche avere elementi inseriti nella sua lunghezza e quindi aumentare la lunghezza. Può anche far eliminare i suoi elementi. Se lo scopo dell'elenco non è di farla crescere o restringere o avere alcuna funzione speciale, allora l'array dovrebbe essere utilizzato. E così, sarebbe necessario convertire un elenco in un array.

In Java, un elenco non è una classe. È un'interfaccia. Un'interfaccia in Java è come una classe astratta, ma non è pensata per essere sottoclassata. Un'interfaccia è pensata per avere classi non correlate. Le dichiarazioni del metodo senza corpo dell'interfaccia sono definite in una classe implementata dall'interfaccia. Questo non dovrebbe essere confuso con l'istanza. Un oggetto è istanziato da una classe. Un metodo è implementato da un metodo astratto, che può essere membro di un'interfaccia o di una classe astratta. Con l'interfaccia, la dichiarazione del metodo "astratto" non è preceduta dalla parola riservata, astratto. Nota: si dice che una classe creata da un'interfaccia abbia implementato l'interfaccia.

Tra le classi di elenco già implementate nel compilatore Java, ci sono la Elenco di Array, Linked e vettoriale. Queste tre classi verranno utilizzate per mostrare come un elenco può essere convertito in un array in questo articolo, a cominciare da ArrayList.

Convertire l'arraylist in array

ArrayList è nel Java.pacchetto util. La classe ArrayList ha due metodi per convertire il suo oggetto in un array. I metodi sono: toarray () e toarray (t [] a).

Object [] toArray ()

Con questo metodo, Java converte i valori degli oggetti ArrayList in una matrice di oggetti della classe, oggetto. Tutte le classi sono discendenti dell'oggetto di classe (che iniziano con O). L'oggetto dell'oggetto di classe ha il metodo toString (). Sistema.fuori.print () può utilizzare questo metodo (da solo) per stampare i valori degli oggetti array come stringhe.

Il seguente programma illustra questo:

Importa Java.util.*;
Classe pubblica TheClass
public static void main (string [] args)
Lista di array nums = new ArrayList ();
nums.Aggiungi (1); nums.Aggiungi (2); nums.Aggiungi (3); nums.Aggiungi (4); nums.Aggiungi (5);
Object [] obj = nums.Toarray ();
per (int i = 0; iSistema.fuori.print (obj [i]); Sistema.fuori.stampa(");

Sistema.fuori.println ();

L'output è:

1 2 3 4 5

L'istanziazione dell'ArrayList prende un riferimento e non un tipo primitivo. Quindi, "intero" dovrebbe essere usato lì, anziché "int".

T [] toarray (t [] a)

Con il metodo sopra, un valore nell'ArrayList viene convertito in un oggetto prima del sistema.fuori.L'espressione print () lo stamperebbe come stringa. Per avere ogni valore in ArrayList come lo stesso tipo in un array di restituzione, il programmatore deve utilizzare questo metodo "T [] Toarray (T [] A)". T è il tipo di valore in ArrayList. T è anche il tipo di valore desiderato nell'array di restituzione. La sintassi per l'istruzione per farlo è:

T [] retarr = alobj.Toarray (Array-of-T);

Dove Retarr è l'array di restituzione e Alobj è l'oggetto ArrayList. Array-of-T è un array con tutti i valori nulli della lunghezza richiesta. Il seguente codice metodo principale () illustra l'uso di questo metodo:

public static void main (string [] args)
Lista di array nums = new ArrayList();
nums.Aggiungi (1); nums.Aggiungi (2); nums.Aggiungi (3); nums.Aggiungi (4); nums.Aggiungi (5);
Integer [] arr = new integer [nums.misurare()];
Integer [] retarr = nums.Toarray (arr);
per (int i = 0; iSistema.fuori.stampa (retarr [i]); Sistema.fuori.stampa(");

Sistema.fuori.println ();

L'output è:

1 2 3 4 5

Convertire Linkedlist in array

LinkedList è nel Java.pacchetto util. La classe LinkedList ha due metodi per convertire il suo oggetto in un array. I metodi sono: toarray () e toarray (t [] a).

Object [] toArray ()

Con questo metodo, Java converte i valori degli oggetti Linkedlist in una matrice di oggetti della classe, oggetto. Tutte le classi sono discendenti dell'oggetto di classe (che iniziano con O). L'oggetto dell'oggetto class ha il metodo toString (). Sistema.fuori.print () può utilizzare questo metodo (da solo) per stampare i valori degli oggetti array come stringhe.

Il seguente programma illustra questo:

Importa Java.util.*;
Classe pubblica TheClass
public static void main (string [] args)
Lista collegatanums = new LinkedList();
nums.Aggiungi (1); nums.Aggiungi (2); nums.Aggiungi (3); nums.Aggiungi (4); nums.Aggiungi (5);
Object [] obj = nums.Toarray ();
per (int i = 0; iSistema.fuori.print (obj [i]); Sistema.fuori.stampa(");

Sistema.fuori.println ();

L'output è:

1 2 3 4 5

L'istanziazione della lista Linked prende un riferimento e non un tipo primitivo. Quindi, "intero" dovrebbe essere usato lì, anziché "int".

T [] toarray (t [] a)

Con il metodo sopra, un valore nella lista Linked viene convertito in un oggetto prima del sistema.fuori.L'espressione print () lo stamperebbe come stringa. Per avere ciascun valore in Linkedlist come lo stesso tipo nell'array restituito, il programmatore deve utilizzare questo metodo "T [] toArray (t [] a)". T è il tipo di valore in Linkedlist. T è anche il tipo di valore desiderato nell'array di restituzione. La sintassi per l'istruzione per farlo è:

T [] retarr = llobj.Toarray (Array-of-T);

Dove Retarr è l'array di ritorno e llobj è l'oggetto Linkedlist. Array-of-T è un array con tutti i valori nulli della lunghezza richiesta. Il seguente codice metodo principale (), illustra l'uso di questo metodo:

public static void main (string [] args)
Lista collegata nums = new LinkedList ();
nums.Aggiungi (1); nums.Aggiungi (2); nums.Aggiungi (3); nums.Aggiungi (4); nums.Aggiungi (5);
Integer [] arr = new integer [nums.misurare()];
Integer [] retarr = nums.Toarray (arr);
per (int i = 0; iSistema.fuori.stampa (retarr [i]); Sistema.fuori.stampa(");

Sistema.fuori.println ();

L'output è:

1 2 3 4 5

Convertire il vettore in array

Vector è nel Java.pacchetto util. La classe vettoriale ha due metodi per convertire il suo oggetto in un array. I metodi sono: toarray () e toarray (t [] a).

Object [] toArray ()

Con questo metodo, Java converte i valori degli oggetti vettoriali in una matrice di oggetti della classe, oggetto. Tutte le classi sono discendenti dell'oggetto di classe (che iniziano con O). L'oggetto dell'oggetto di classe ha il metodo toString (). Sistema.fuori.print () può utilizzare questo metodo (da solo) per stampare i valori degli oggetti array, come stringhe.

Il seguente programma illustra questo:

Importa Java.util.*;
Classe pubblica TheClass
public static void main (string [] args)
Vettore nums = nuovo vettore();
nums.Aggiungi (1); nums.Aggiungi (2); nums.Aggiungi (3); nums.Aggiungi (4); nums.Aggiungi (5);
Object [] obj = nums.Toarray ();
per (int i = 0; iSistema.fuori.print (obj [i]); Sistema.fuori.stampa(");

Sistema.fuori.println ();

L'output è:

1 2 3 4 5

Instanziazione del vettore, prende un riferimento e non un tipo primitivo. Quindi, "intero" dovrebbe essere usato lì, anziché "int".

T [] toarray (t [] a)

Con il metodo sopra, un valore nel vettore viene convertito in un oggetto prima del sistema.fuori.L'espressione print () lo stamperebbe come stringa. Per avere ciascun valore in vettore come lo stesso tipo nell'array restituito, il programmatore deve utilizzare questo metodo "T [] toarray (t [] a)". T è il tipo di valore in Linkedlist. T è anche il tipo di valore desiderato nell'array di restituzione. La sintassi per l'istruzione per farlo è:

T [] retarr = vobj.Toarray (Array-of-T);

Dove Retarr è l'array di ritorno e VOBJ è l'oggetto vettoriale. Array-of-T è un array con tutti i valori nulli della lunghezza richiesta. Il seguente codice metodo principale (), illustra l'uso di questo metodo:

public static void main (string [] args)
Vettore nums = nuovo vettore();
nums.Aggiungi (1); nums.Aggiungi (2); nums.Aggiungi (3); nums.Aggiungi (4); nums.Aggiungi (5);
Integer [] arr = new integer [nums.misurare()];
Integer [] retarr = nums.Toarray (arr);
per (int i = 0; iSistema.fuori.stampa (retarr [i]); Sistema.fuori.stampa(");

Sistema.fuori.println ();

L'output è:

1 2 3 4 5

Conclusione

In Java, un elenco non è una classe. È un'interfaccia. Tra le classi di elenco già implementate nel compilatore Java, ci sono la Elenco di Array, Linked e vettoriale. Ognuna di queste classi ha i metodi, Toarray () e Toarray (Array). Nella conversione, se l'obiettivo è stampare i valori dell'array di ritorno, utilizzare toarray (). Se l'obiettivo è avere un array dello stesso tipo di valori nell'elenco, usa TOARRAY (array).