Supponiamo che io inserisca 5 stringhe in un file ArrayList
. L'ordine di inserimento e recupero dal sito ArrayList
sarà lo stesso?
Supponiamo che io inserisca 5 stringhe in un file ArrayList
. L'ordine di inserimento e recupero dal sito ArrayList
sarà lo stesso?
Risposte:
Sì, ArrayList è una raccolta ordinata e mantiene l'ordine di inserzione.
Controlla il codice sottostante ed eseguilo:
public class ListExample {
public static void main(String[] args) {
List<String> myList = new ArrayList<String>();
myList.add("one");
myList.add("two");
myList.add("three");
myList.add("four");
myList.add("five");
System.out.println("Inserted in 'order': ");
printList(myList);
System.out.println("\n");
System.out.println("Inserted out of 'order': ");
// Clear the list
myList.clear();
myList.add("four");
myList.add("five");
myList.add("one");
myList.add("two");
myList.add("three");
printList(myList);
}
private static void printList(List<String> myList) {
for (String string : myList) {
System.out.println(string);
}
}
}
Produce il seguente output:
Inserted in 'order':
one
two
three
four
five
Inserted out of 'order':
four
five
one
two
three
Per informazioni dettagliate, fare riferimento alla documentazione: List (Java Platform SE7)
Sì . ArrayList è un elenco sequenziale . Quindi, l'ordine di inserimento e recupero è lo stesso.
Se aggiungi elementi durante il recupero , l'ordine non rimarrà lo stesso.
Se aggiungi sempre alla fine, ogni elemento verrà aggiunto alla fine e rimarrà tale finché non lo modifichi.
Se inserisci sempre all'inizio, ogni elemento apparirà nell'ordine inverso in cui li hai aggiunti.
Se li inserisci nel mezzo, l'ordine sarà qualcos'altro.
Sì, sarà sempre lo stesso. Dalla documentazione
Aggiunge l'elemento specificato alla fine di questo elenco. Parametri: l'elemento da aggiungere a questo elenco Restituisce: true (come specificato da Collection.add (java.lang.Object))
add()
Implementazione di ArrayList
public boolean More ...add(E e) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
Sì, rimane lo stesso. ma perché non provarlo facilmente? Crea un ArrayList, riempilo e poi recupera gli elementi!