ArrayList trong lập trình java

Tìm hiểu về ArrayList và Array và cách khai báo mảng trong Java

Trong Java có hai cách để tạo một mảng lưu trữ nội dung là ArrayList và Array, vậy điểm khác biết giữa chúng là gì và khi nào ta sẽ sử dụng. ArrayList là một Class Collection thường được sử dụng để lưu trữ các đối tượng phức tạp, kích thước của đối tượng ArrayList khi được tạo thường là một mảng dữ liệu động bạn có thể dễ dàng thêm bớt dữ liệu vào mảng này một cách linh động và ở bất cứ trường hợp nào. Còn Array là kiểu dữ liệu dùng để lưu trữ các đối tượng dữ liệu đơn giản như số nguyên (Interger), số thực (double) … và kích thước mảng là được định sẳn, bạn không thể thêm một element mới vào mảng này nếu trong mảng đã đầy dữ liệu.

Cách sử dụng và khai báo mảng trong Java:

Tạo 1 mảng Array gồm 10 phần tử int

int arr [] = new int [10]

Tao 1 mảng ArrayList gồm các phần tử kiểu Type

ArrayList <Loại> arrL = new ArrayList <Type> ();

Do Array là đơn giản và ý tưởng của nó là chính xác như những gì bạn từng được học trên trường trong bộ môn ” Cơ Sở Lập Trình ” nên mình sẽ không đi sâu vào cách dùng của Array.

Kiểu dữ liệu Class Collection Array List trong Java và Android

Trong Java nói chung và lâp trình Android nói riêng, không có sự khác biệt nào khi bạn tiếp cận đối tượng này. Một vài lưu ý và kiến thức về Array List bạn cần nắm rõ dưới đây:

Là đối tượng được kế thừa từ lớp trừu tượng AbstractList và triển khai giao diện List nên bạn có thể khai báo một cách linh động như sau

List<SinhVien> svList = new ArrayList<SinhVien)();

Là một mảng lưu trữ động, tức là bạn có thể nới rộng dung lượng và thu hẹp bộ nhớ của mảng bất cứ lúc nào bằng cách thêm mới hay loại bỏ các phần tử trong List này, việc quản lý và thu gom bộ nhớ sẽ được JVM lo lắng. Tuy nhiên một số ưu điểm và khuyết điểm bạn cần xem xét khi sử dụng

  • ArrayList có thể chứa các đối tượng trùng nhau.
  • ArrayList duy trì thứ tự chèn các phần tử.
  • ArrayList là class không đồng bộ (non synchronized).
  • ArrayList cho phép truy cập các phần tử không theo chỉ số index
  • ArrayList thao tác chậm khi có sự xáo trộn xóa các phần tử trong mảng.

Kevin Dang

Hey there! My name is Kevin Dang, I am website, software, mobile app develop, web admin system. Expert living in Hồ Chí Minh (Việt Nam). I am very interested in digital marketing with: SEO, Facebook, Google Ads ... This blog is where I will share the experiences, techniques and knowledge I have learned.