Припустимо, я вставляю 5 рядків у файл ArrayList
. Чи буде порядок вставки та вилучення з того ArrayList
самого однаковий?
Припустимо, я вставляю 5 рядків у файл ArrayList
. Чи буде порядок вставки та вилучення з того ArrayList
самого однаковий?
Відповіді:
Перевірте код нижче і запустіть його:
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);
}
}
}
Видає такий результат:
Inserted in 'order':
one
two
three
four
five
Inserted out of 'order':
four
five
one
two
three
Для отримання детальної інформації зверніться до документації: List (Java Platform SE7)
Так . ArrayList - це послідовний список . Отже, порядок вставки та пошуку є однаковим.
Якщо ви додасте елементи під час отримання , порядок не залишиться незмінним.
Якщо ви завжди додаєте до кінця, тоді кожен елемент буде доданий до кінця і залишатиметься таким, поки ви його не зміните.
Якщо ви завжди вставляєте на початку, кожен елемент відображатиметься у зворотному порядку, в якому ви їх додали.
Якщо ви вставите їх посередині, порядок буде іншим.
Так, це завжди буде однаково. З документації
Додає зазначений елемент до кінця цього списку. Параметри: Е-елемент, який потрібно додати до цього списку Повертає: true (як зазначено у Collection.add (java.lang.Object))
add()
Реалізація ArrayList
public boolean More ...add(E e) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
Так, це залишається незмінним. але чому б це не легко перевірити? Складіть ArrayList, заповніть його, а потім отримайте елементи!