Załóżmy, że wstawiam 5 ciągów do pliku ArrayList
. Czy kolejność wstawiania i pobierania z pliku ArrayList
będzie taka sama?
Załóżmy, że wstawiam 5 ciągów do pliku ArrayList
. Czy kolejność wstawiania i pobierania z pliku ArrayList
będzie taka sama?
Odpowiedzi:
Sprawdź poniższy kod i uruchom go:
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);
}
}
}
Daje następujący wynik:
Inserted in 'order':
one
two
three
four
five
Inserted out of 'order':
four
five
one
two
three
Szczegółowe informacje można znaleźć w dokumentacji: List (Java Platform SE7)
Tak . ArrayList to lista sekwencyjna . Tak więc kolejność wstawiania i pobierania jest taka sama.
Jeśli dodasz elementy podczas pobierania , kolejność nie pozostanie taka sama.
Jeśli zawsze dodajesz na końcu, każdy element zostanie dodany na końcu i pozostanie taki, dopóki go nie zmienisz.
Jeśli zawsze wstawiasz na początku, każdy element pojawi się w odwrotnej kolejności, w jakiej go dodałeś.
Jeśli wstawisz je na środku, kolejność będzie inna.
Tak, zawsze będzie tak samo. Z dokumentacji
Dołącza określony element na końcu tej listy. Parametry: element, który ma zostać dołączony do tej listy Zwraca: true (jak określono w Collection.add (java.lang.Object))
add()
Implementacja ArrayList
public boolean More ...add(E e) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
Tak, pozostaje to samo. ale dlaczego nie łatwo go przetestować? Utwórz ArrayList, wypełnij ją, a następnie pobierz elementy!