Thêm phần tử vào mảng trong Java

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 giải 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ử tất cả chúng ta khai báo một mảng có 5 phần tử và gán giá trị cho những phần tử như sau :

String[] arr = new String[5];


arr[0] = " 1 ";


arr[1] = " 2 ";


arr[2] = " 3 ";


arr[3] = " 4 ";


arr[4] = " 5 ";


Nếu tất cả chúng ta cố thêm một phần tử thứ 6 vào mảng đó, thì do sẽ vượt quá size của mảng, dẫn đến lỗi sẽ xảy ra như sau :

arr[6] = 6;




>>> java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5


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à biến hóa size mảng đó ( là việc không hề ) thì tất cả chúng ta cần phải sẵn sàng chuẩn bị một mảng có kích cỡ lớn hơn để hoàn toàn có thể chứa cả mảng bắt đầu lẫn phần tử cần thêm vào .Và tất cả 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à thắt chặt và tất cả chúng ta hoàn toàn có thể thuận tiện thêm phần tử vào một ArrayList đã tạo trước đó .Ứng dụng ArrayList, tất cả chúng ta hoàn toàn 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 xong đượ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ụ đơn cử, tất cả 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.*;



public

class Main

{


public static void main( String args [ ] )

{



String[] arr = {" 1 ", " 2 ", " 3 ", " 4 ", " 5 "};



System.out.println(" orgin arr : \ n "+Arrays.toString(arr));




List testList = new ArrayList<>(Arrays.asList(arr));




System.out.println(" ArrayList before : \ n "+ testList);




testList.add(" 88 ");


testList.add(" 99 ");




System.out.println(" ArrayList after : \ n "+ testList);




arr = testList.toArray(new String[0]);




System.out.println(" new arr : \ n "+Arrays.toString(arr));



}
}

Kết quả, hai phần tử là “ 88 ” và “ 99 ” sẽ được thêm vào cuối mảng tác dụng như sau :

orgin arr :
[ 1, 2, 3, 4, 5 ]
ArrayList before :
[ 1, 2, 3, 4, 5 ]
ArrayList after :
[ 1, 2, 3, 4, 5, 88, 99 ]
new arr :
[ 1, 2, 3, 4, 5, 88, 99 ]

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 khoanh vùng phạm vi mảng, tất cả 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 khởi đầu lẫn phần tử cần thêm, sau đó copy hàng loạt mảng bắt đầu cũng như phần tử cần thêm vào nó .Để copy mảng, tất cả chúng ta sẽ dùng đển phương pháp Arrays. copyOf mà Kiyoshi đã hướng dẫn trong bài Sao chép mảng trong JavaVí dụ, với mảng ở trên tất cả chúng ta hoàn toàn có thể thực thi thêm một phần tử vào mảng như sau :

import java.util.*;



public

class Main

{


public static void main( String args [ ] )

{



String[] arr = {" 1 ", " 2 ", " 3 ", " 4 ", " 5 "};




System.out.println(" Old arr : \ n "


+ Arrays. toString ( arr ) ) ;


int N = arr.length;




arr = Arrays.copyOf(arr, N + 1);




arr[N] = " 6 ";




System.out.println(" New arr : \ n "


+ Arrays. toString ( arr ) ) ;
}
}

Kết quả, 1 phần tử sẽ được thêm vào cuối mảng như sau :

Old arr :
[ 1, 2, 3, 4, 5 ]
New arr :
[ 1, 2, 3, 4, 5, 6 ]

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ì giải pháp thêm phần tử vào mảng trong Java bằng ArrayList lại không tốn thời hạn như vậy mà tất cả chúng ta hoàn toàn có thể thêm đồng thời nhiều phần tử vào. Do vậy, tất cả 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 khám phá những kỹ năng và kiến thức sâu hơn về Java trong những bài học kinh nghiệm tiếp theo

Source: https://tmsquynhon.com.vn
Category: CRYPTO

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *