Подтвердить что ты не робот

Порядок вставки и извлечения ArrayList

Предположим, что я вставляю 5 строк в ArrayList. Будет ли порядок вставки и извлечения из ArrayList одинаковым?

4b9b3361

Ответ 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, заполните его, а затем извлеките элементы!