STRUCTURE LAB2.0JAVA VISUAL DEBUG
Algorithms explained in motion
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

LIVE
01 / 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.

size = 10capacity = 12index = 50001020304050607080910—11—11182531425563718694TARGET [5]
Đang truy cậpDi chuyểnHoàn tấtTham chiếu
Demo.java
JAVA 21
Demo main(String[] args) read-only
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

insert

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 & STATE
4 variables
size10
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.
STEP 01 / 16paused
SPEED
Bước 1: Mảng động, bộ nhớ liên tiếp