THE LEARNING LAB/ARRAYLIST
Mảng động · dữ liệu dùng chung.
Theo dõi từng ô nhớ. Hiểu điều gì xảy ra sau mỗi dòng Java.
Cùng dữ liệu · nối từ cuối chuỗiCuối chuỗi: 11 phần tử / 12 ô
O(n) · 1 thao tác · 16 bước
Data structure view
LIVE01 / 16
INITIAL STATE
Mảng động, bộ nhớ liên tiếp
Mảng có 10 phần tử và 2 ô dự phòng. Index bắt đầu từ 0.
Đang truy cậpDi chuyểnHoàn tấtTham chiếu
import java.util.Arrays;// Mô hình mảng động tự triển khai; không truy cập private ArrayList.public class Demo { public static void main(String[] args) { Integer[] elements = {11, 18, 25, 31, 42, 55, 63, 71, 86, 94, null, null}; int size = 10; int at = 5, value = 49; if (at < 0 || at > size) throw new IndexOutOfBoundsException(); for (int i = size; i > at; i--) { elements[i] = elements[i - 1]; } elements[at] = value; size++; System.out.println(Arrays.toString(Arrays.copyOf(elements, size))); }}PAUSED LINE 6UTF-8 Java
Giải thích từng bước
Mảng có 10 phần tử và 2 ô dự phòng. Index bắt đầu từ 0.
Lệnh Java: int size = 10;
Size đếm phần tử hợp lệ; capacity là số ô được cấp phát. Các ô ngoài size chưa thuộc danh sách.
Trước → SauTrạng thái ban đầu, chưa thay đổi dữ liệu.
Watch variables
MEMORY & STATEsize10
capacity12
index5
value49
Biến và hình minh họa dùng cùng snapshot #01
Console sẵn sàng.
Output xuất hiện khi chạy lệnh System.out.
Output xuất hiện khi chạy lệnh System.out.
STEP 01 / 16paused
SPEED
Bước 1: Mảng động, bộ nhớ liên tiếp