06/04/2021, 14:47

Cách nối hai mảng trong Java - Bài tập Java có lời giải cơ bản đến nâng cao

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 ...

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.

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("
----------------------------------");
    System.out.println("Chương trình này được đăng tại Zaidap.com.net");
  }
}

Kết quả:

bai10 02 PNG

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("
----------------------------------");
    System.out.println("Chương trình này được đăng tại Zaidap.com.net");
  }
}

Kết quả:

bai10 02 PNG

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 !!!

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0