Cách nối hai mảng trong Java
Trong bài viết này chúng ta sẽ tìm hiểu về cách nối hai mảng trong Java. Để có thể hiểu được, các bạn cần có kiến thức cơ bản về mảng một chiều cũng như về Arrays trong Java.
Mình sẽ thực hiện hai chương trình nối mảng. Chương trình thứ nhất nối hai mảng bằng cách thủ công và chương trình hai nối hai mảng sử dụng phương thức arraycopy() trong Arrays.
Nối hai mảng bằng phương pháp thủ công.
Đầu tiên ta cần khai báo và khởi tạo giá trị cho các phần tử của mảng array1[] và array2[].
Để nối được hai mảng lại với nhau ta cần thêm một mảng result[] mới để lưu các phần tử của mảng array1[] và array2[]. Mảng result[] sẽ có độ dài bằng hai mảng array1[] và array2[] cộng lại.
Bài viết này được đăng tại [free tuts .net]
Tiếp đến sử dụng vòng lặp for để lưu trữ các phần tử của hai mảng array1[] và mảng array2[] và mảng resutl[].
import java.util.Arrays; public class Main { public static void main(String[] args) { //khai báo và khởi tạo giá trị cho các phần tử của hai mảng array1 và array2 int[] array1 = {1, 2, 3}; int[] array2 = {4, 5, 6}; //biến length sẽ bằng độ dài của hai mảng cộng lại int length = array1.length + array2.length; //Bây giờ khai báo thêm một mảng mới result để lưu trữ hai mảng cần nối, với độ dài bằng length int[] result = new int[length]; int pos = 0; //sử dụng vòng lặp for để lưu các phần tử trong mảng array1 vào mảng result for (int element : array1) { result[pos] = element; pos++; } //tương tự như vậy cho mảng hai for (int element : array2) { result[pos] = element; pos++; } //sau khi nối xong ta chỉ cần hiển thị mảng result ra màn hình System.out.println(Arrays.toString(result)); System.out.println("\n----------------------------------"); System.out.println("Chương trình này được đăng tại Freetuts.net"); } }
Kết quả:
Nối hai mảng bằng phương thức arraycopy() trong Arrays.
Khi sử dụng phương thức arraycopy() trong Arrays thì việc nối hai mảng trở nên rất dễ dàng.
Đầu tiên ta cũng cần khai báo hai mảng và khởi tạo giá trị cho các phần tử. Sau đó khai báo thêm một mảng result với độ dài bằng hai mảng cộng lại để lưu các phần tử trong hai mảng.
Bây giờ chỉ cần sử dụng phương thức arraycopy() để copy các phần tử trong hai mảng sang mảng result. Và sử dụng phương thức toString() để hiển thị mảng ra màn hình.
import java.util.Arrays; public class Main { public static void main(String[] args) { //khai báo và khởi tạo cho hai mảng array1 và array2 int[] array1 = {1, 2, 3}; int[] array2 = {4, 5, 6}; //aLen sẽ bằng độ dài của mảng array1 và bLen sẽ bằng độ dài của mảng array2 int aLen = array1.length; int bLen = array2.length; //khai báo một mảng result với độ dài bằng aLen + bLen để lưu trữ các phần tử của array1 và array2 int[] result = new int[aLen + bLen]; //sử dụng phương thức arraycopy() để copy các phần tử của array1 và array2 vào result System.arraycopy(array1, 0, result, 0, aLen); System.arraycopy(array2, 0, result, aLen, bLen); //sử dụng phương thức toString() để hiển thị mảng ra màn hình System.out.println(Arrays.toString(result)); System.out.println("\n----------------------------------"); System.out.println("Chương trình này được đăng tại Freetuts.net"); } }
Kết quả:
Như vậy là chúng ta đã thực hiện xong hai chương trình nối mảng trong Java. Các bạn có thể tham khảo thêm các bài tập về Java tại đây, chúc các bạn thành công !!!