Предположим, что я вставляю 5 строк в ArrayList
. Будет ли порядок вставки и извлечения из ArrayList
одинаковым?
Порядок вставки и извлечения ArrayList
Ответ 1
Проверьте приведенный ниже код и запустите его:
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)
Ответ 2
Да. ArrayList - это последовательный список. Таким образом, порядок вставки и извлечения тот же.
Если вы добавите элементы во время поиска, порядок не останется прежним.
Ответ 3
Если вы всегда добавляете в конец, каждый элемент будет добавлен в конец и останется таким, пока вы его не измените.
Если вы всегда вставляете в начале, каждый элемент будет отображаться в том порядке, в котором вы их добавили.
Если вы вставляете их посередине, порядок будет чем-то другим.
Ответ 4
Да, это всегда будет одно и то же. Из документа
Добавляет указанный элемент в конец этого списка. Параметры: e элемент, который будет добавлен в этот список. Возвращает: true (как указано в Collection.add(java.lang.Object))
ArrayList add()
реализация
public boolean More ...add(E e) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
Ответ 5
Да, он остается тем же. но почему бы не легко проверить его? Создайте ArrayList, заполните его, а затем извлеките элементы!