Bài viết đăng tại: https://laptrinhcanban.com
Hướng dẫn cách thêm phần tử vào mảng trong Java. Bạn sẽ học được 2 cách cơ bản để thêm một phần tử vào mảng trong java sau bài học này.
Chúng ta có 2 phương pháp để thêm phần tử vào mảng trong Java như sau:
- Thêm phần tử vào mảng trong Java bằng ArrayList
- Thêm phần tử vào mảng trong Java bằng cách tạo một mảng mới
Có thể thêm phần tử vào mảng trong Java?
Thêm phần tử vào mảng trong Java, là xử lý nhằm thêm một phần tử vào cuối một mảng có sẵn.
Tuy nhiên mảng trong Java có kích thước cố định được quyết định khi khai báo mảng, và chúng ta không thể thay đổi kích thước của mảng sau khi khai báo. Do vậy về lý thuyết thì chúng ta không thể thêm phần tử vào mảng ban đầu được vì không thể làm tăng độ dài của mảng đó.
Thật vậy. Giả sử chúng ta khai báo một mảng có 5 phần tử và gán giá trị cho các phần tử như sau:
String[] arr = new String[5]; |
Nếu chúng ta cố thêm một phần tử thứ 6 vào mảng đó, thì do sẽ vượt quá kích thước của mảng, dẫn đến lỗi sẽ xảy ra như sau:
arr[6] = 6; |
Bởi thế, để thêm phần tử vào một mảng, thì thay vì thêm trực tiếp phần tử và thay đổi kích thước mảng đó (là việc không thể) thì chúng ta cần phải chuẩn bị một mảng có kích thước lớn hơn để có thể chứa cả mảng ban đầu lẫn phần tử cần thêm vào.
Và chúng ta sẽ có 2 cách cơ bản để thêm phần tử vào mảng trong Java dựa trên logic ở trên như sau.
Thêm phần tử vào cuối mảng trong Java bằng ArrayList
Khác với mảng thì ArrayList trong Java có độ dài không cố định và chúng ta có thể dễ dàng thêm phần tử vào một ArrayList đã tạo trước đó.
Ứng dụng ArrayList, chúng ta có thể chuyển mảng cần thêm phần tử thành ArrayList, sau đó thao tác thêm phần tử trực tiếp trên ArrayList này, thì sẽ hoàn thành được việc thêm phần tử vào mảng trong Java.
Và để thêm phần tử vào một ArrayList sẵn có, chúng ta sử dụng phương thức add() với cú pháp sau đây:
l.add(element);
Trong đó l
là tên ArrayList, và element
là giá trị của phần tử cần thêm vào.
Ví dụ cụ thể, chúng ta chuyển mảng thành ArrayList, sau đó thêm phần tử vào cuối ArrayList đó như chương trình sau đây:
import java.util.*; |
Kết quả, hai phần tử là “88” và “99” sẽ được thêm vào cuối mảng kết quả như sau:
orgin arr: |
Lưu ý là ở trên mặc dù chúng ta sử dụng chung tên một biến mảng arr
, nhưng biến mảng này tham chiếu tới 2 mảng hoàn toàn khác nhau trước và sau khi thêm phần tử. Bạn có thể tham khảo kỹ phần này tại bài viết Gán mảng cho một mảng khác trong Java.
Thêm phần tử vào mảng trong Java bằng cách tạo một mảng mới
Nếu bạn không muốn dùng ArrayList mà chỉ muốn thao tác trong phạm vi mảng, chúng ta vẫn còn một cách khác để thêm 1 phần tử vào mảng trong Java, đó chính là tạo một mảng mới có độ dài đủ để chứa cả mảng ban đầu lẫn phần tử cần thêm, sau đó copy toàn bộ mảng ban đầu cũng như phần tử cần thêm vào nó.
Để copy mảng, chúng ta sẽ dùng đển phương thức Arrays.copyOf mà Kiyoshi đã hướng dẫn trong bài Sao chép mảng trong Java
Ví dụ, với mảng ở trên chúng ta có thể tiến hành thêm một phần tử vào mảng như sau:
import java.util.*; |
Kết quả, 1 phần tử sẽ được thêm vào cuối mảng như sau:
Old arr: |
Tuy nhiên cần lưu ý, để có thể thêm các phần tử khác vào cuối mảng kết quả này thì chúng ta buộc phải lặp lại lần lượt toàn bộ quá trình xử lý ở trên. Lý do là trong mỗi lần thêm phần tử vào cuối mảng bằng phương pháp này, Java sẽ cần tiêu tốn một khoảng thời gian đươc tính toán phức tạp.
Trong khi đó thì phương pháp thêm phần tử vào mảng trong Java bằng ArrayList lại không tốn thời gian như vậy mà chúng ta có thể thêm đồng thời nhiều phần tử vào. Do vậy, chúng ta nên sử dụng tới ArrayList khi muốn thêm phần tử vào mảng trong Java.
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn cách thêm phần tử vào mảng trong Java rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo
URL Link
HOME › java cơ bản cho người mới bắt đầu>>12. mảng trong java