Danh sách mảng ArrayList trong Java

Anh/Chị cho em hỏi dòng: a.add(1, "tat ca"); có nghĩa là:

  1. Chèn giá trị “tat ca” vào phần tử có vị trí index là 1
  2. Chèn phần tử “tat ca” vào vị trí số 1
    Mình nói theo cách số 1 hay là số 2 mới đúng ạ? Và phần tử trong danh sách mảng (ArrayList) có giống với phần tử trong danh sách thông thường (Array) không? (VD như: Phần tử trong mảng thông thường thì trong mỗi phần tử chứa một giá trị và có một vị trí index xác định).
import java.util.ArrayList;

class Main {
    public static void main(String[] args){
        ArrayList<String> a = new ArrayList<>();
        a.add("Xin chao");
        a.add("moi nguoi!");
        System.out.println(a);
        a.add(1, "tat ca");
        System.out.println(a);
        String chuoi_ky_tu = a.get(1);
        System.out.println(chuoi_ky_tu);
    }
}

ý số 2 đúng…

2 Likes

Tại sao “tat ca” này lại gọi là phần tử? Lẽ ra nó phải là giá trị của phần tử, mà là giá trị thì phải thêm vào phần tử chứ ạ?

ArrayList<String> s = new ArrayList<String>();
s.add("Day");
s.add("Nhau");
s.add("Hoc");
for ( int i = 0 ; i < s.size() ; i++){
         System.out.println(s.get(i) + " ");
}

Như đoạn lệnh phía trên thì phương thức get(i): Lấy phần tử tại vị trí thứ i. Tại sao mình không nói là: Lấy giá trị của phần tử tại vị trí thứ i. Sao lại như vậy ạ? :disappointed_relieved:

Tại sao lại phải phân biệt giữa “phần tử” và “giá trị của phần tử”? Thường phần tử chỉ có một giá trị duy nhất là chính nó, nên cả 2 là như nhau. Phân biệt ra cũng không đem lại lợi ích gì, còn làm rối thêm.

Nói đến đây chắc bạn tự trả lời được phần còn lại rồi.

5 Likes

Bạn này quá bó buộc vào từ ngữ, câu hỏi chỉ có mục đích là hỏi cách gọi tên.
Bật IDE lên và run xem nó nằm ở vị trí nào rồi diễn đạt theo ý mình hiểu thôi. Như thế mới nhớ lâu được. Chứ chăm vào từ ngữ giống học thuộc lòng là sẽ quên ngay.

7 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?