Bài viết đăng tại: https://laptrinhcanban.com
Hướng dẫn cách xóa mảng trong Java. Bạn sẽ học được 3 cách cơ bản để xóa phần tử trong mảng trong java sau bài học này.
Chúng ta có 3 phương pháp để xóa phần tử trong mảng trong Java như sau:
- Xóa 1 phần tử trong mảng trong Java bằng ArrayList
- Xóa phần tử thứ k trong mảng Java
- Xóa toàn bộ phần tử chỉ định trong mảng trong Java
Có thể xóa phần tử trong mảng trong Java?
xóa phần tử trong mảng trong Java, là xử lý nhằm xóa một phần tử ở 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ể xóa phần tử trong mảng ban đầu được vì không thể làm giảm độ dài của mảng đó.
Bởi thế, để xóa phần tử trong một mảng, thì thay vì xóa 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 khác có kích thước phù hợp để có thể chứa kết quả xóa phần tử từ mảng ban đầu.
Và chúng ta sẽ có 3 cách cơ bản để xóa phần tử vào mảng trong Java theo logic ở trên như dưới đây.
Xóa một phần tử trong 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 xóa phần tử từ một ArrayList đã tạo trước đó.
Để xóa phần tử trong mảng trong Java bằng ArrayList, chúng ta cần thực hiện các bước sau đây:
Chuyển mảng thành ArrayList
Xóa phần tử trong ArrayList
Chuyển ArrayList lại về mảng
Để xóa phần tử từ một ArrayList sẵn có, chúng ta sử dụng phương thức remove() với cú pháp sau đây:
l.remove(parameter);
Trong đó l
là tên ArrayList và parameter
là index hoặc là giá trị của phần tử cần xóa.
Lưu ý, nếu chỉ định parameter là một số thuộc kiểu int, thì phần tử có index bằng parameter sẽ được xóa. Nếu chỉ định parameter là một chuỗi thuộc kiểu String, thì phần tử đầu tiên có giá trị bằng parameter sẽ được xóa đi.
Ví dụ, chúng ta có một ArrayList như sau:
List<String> list = new ArrayList<>(); |
Khi chỉ định parameter là index của phần tử, ví dụ như phần tử “NamDinh” có index bằng 2 thì phần tử đó sẽ được xóa đi khỏi ArrayList như sau:
list.remove(2); |
Và nếu chỉ định parameter là giá trị của phần tử đó, thì phần tử đầu tiên được tìm thấy từ đầu ArrayList sẽ được xóa đi khỏi ArrayList như sau:
list.remove("NinhBinh"); |
Ứng dụng điều này, chúng ta có thể chuyển mảng thành ArrayList, sau đó xóa phần tử đầu tiên được tìm thấy trong ArrayList đó, rồi chuyển lại ArrayList kết quả về mảng để hoàn chỉnh việc xóa mảng trong Java như chương trình sau đây:
import java.util.*; |
Kết quả, phần tử đầu tiên có giá trị bằng 5 được tìm thấy sẽ được xóa khỏi mảng ban đầu như sau:
Mang ban dau: |
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 xóa 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.
Xóa phần tử thứ k trong mảng java
Cũng với cách sử dụng phương thức remove của ArrayList như trên trong trường hợp chỉ định parameter là index của phần tử, chúng ta có thể xóa phần tử thứ k trong mảng java bằng cách chỉ định parameter bằng chính k.
Ví dụ cụ thể chúng ta xóa phần tử thứ 2 trong mảng java trên như sau:
import java.util.*; |
Kết quả, phần tử có index k = 2 (giá trị bằng 3) sẽ được xóa đi khỏi mảng ban đầu như sau:
Mang ban dau: |
Xóa toàn bộ phần tử chỉ định trong mảng trong Java
Với phương pháp sử dụng ArrayList thuần túy như trên, chúng ta chỉ có thể xóa đi một phần tử duy nhất với mỗi lần thực thi chương trình.
Trong trường hợp bạn cần xóa toàn bộ phần tử có giá trị chỉ định trong mảng trong Java, ngoài ArrayList thì chúng ta cần phải kết hợp xóa vòng lặp for để có thể xóa toàn bộ phần tử chỉ định khỏi mảng ban đầu.
Ý tưởng ở đây là chúng ta sử dụng một vòng lặp để so sánh từng phần tử trong mảng với giá trị chỉ định, và sẽ copy phần tử đó sang ArrayList nếu giá trị của nó khác với giá trị chỉ định.
Sau đó, chỉ cần chuyển lại ArrayList về mảng là có thể thu về kết quả sau khi xóa toàn bộ phần tử chỉ định trong mảng trong Java, như chương trình sau đây:
import java.util.*; |
Kết quả, toàn bộ phần tử chỉ định sẽ được xóa đi khỏi mảng ban đầu như sau:
Mang ban dau: |
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn cách xóa phần tử trong 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