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


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

5 63

5 ответов:

проверьте код ниже и запустите его:

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 (как указано Коллекция.добавить(Ява.ленг.Объект))

ArrayList add() реализация

public boolean More ...add(E e) {
    ensureCapacity(size + 1);  // Increments modCount!!
    elementData[size++] = e;
    return true;
}

Да он остается прежним. но почему бы просто не проверить это? Сделайте ArrayList, заполните его и затем извлеките элементы!