1. Câu hỏi
2. Phân tích
Đọc từng dòng code để phân tích, mình tập trung vào 2 line 13
list.remove(list.indexOf(0));
- Kiểm tra logic của method indexOf see java docs Trong trường hợp này,
list.indexOf(0) = 2;
Biểu thức trở thành
list.remove(2);
- Phần này sẽ phức tạp hơn. List cung cấp 2 methods để remove: remove(int) and remove(Object)
- remove(int) để xóa phần tử theo index
- remove(Object) để xóa phần tử
Vì hàm list.indexOf(0) trả về giá trị kiểu int, vậy method remove(int) được thực hiện, xóa phần tử ở index = 2 (giá trị 0) Vậy list còn 2 phần tử (2,1) -> Đáp án số 1
3. Kết luận
Cần xem lại kiến thức về về hàm indexOf(int), remove(int) và remove(Object) của List Source cho câu hỏi