Giả sử tôi chèn 5 chuỗi trong một ArrayList
. Thứ tự chèn và truy xuất ArrayList
có giống nhau không?
Giả sử tôi chèn 5 chuỗi trong một ArrayList
. Thứ tự chèn và truy xuất ArrayList
có giống nhau không?
Câu trả lời:
Kiểm tra mã bên dưới và chạy nó:
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);
}
}
}
Tạo ra kết quả sau:
Inserted in 'order':
one
two
three
four
five
Inserted out of 'order':
four
five
one
two
three
Để biết thông tin chi tiết, vui lòng tham khảo tài liệu: List (Java Platform SE7)
Vâng . ArrayList là một danh sách tuần tự . Vì vậy, thứ tự chèn và truy xuất là như nhau.
Nếu bạn thêm các phần tử trong quá trình truy xuất , thứ tự sẽ không được giữ nguyên.
Nếu bạn luôn thêm vào cuối, thì mỗi phần tử sẽ được thêm vào cuối và giữ nguyên như vậy cho đến khi bạn thay đổi.
Nếu bạn luôn chèn khi bắt đầu, thì mỗi phần tử sẽ xuất hiện theo thứ tự ngược lại mà bạn đã thêm chúng.
Nếu bạn chèn chúng vào giữa, thứ tự sẽ là thứ khác.
Vâng, nó sẽ luôn luôn như vậy. Từ tài liệu
Thêm phần tử được chỉ định vào cuối danh sách này. Tham số: phần tử e được thêm vào danh sách này Trả về: true (như được chỉ định bởi Collection.add (java.lang.Object))
add()
Triển khai ArrayList
public boolean More ...add(E e) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
Vâng, nó vẫn như cũ. nhưng tại sao không dễ dàng kiểm tra nó? Tạo một ArrayList, điền vào nó và sau đó truy xuất các phần tử!