Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java chia List thành hai nửa

Trong bài viết này, chúng ta sẽ tìm hiểu cách chia một List thành hai nửa. List là tập hợp có thứ tự cho phép lưu trữ và truy xuất tuần tự.

Ví dụ minh họa

Đầu vào:

Danh sách đầu vào: [Java, Python, JavaScript, Shell, Scala]

Đầu ra mong muốn:

Nửa đầu: [Java, Python]
Nửa sau: [JavaScript, Shell, Scala]

Thuật toán

  1. Bắt đầu
  2. Khai báo ba ArrayList: input_list, first_list, second_list
  3. Gán giá trị
  4. Lấy kích thước mảng bằng .size()
  5. Duyệt input_list: phần tử chỉ số < size/2 thêm vào first_list, phần tử chỉ số >= size/2 thêm vào second_list
  6. Hiển thị kết quả
  7. Kết thúc

Ví dụ 1: Xử lý trực tiếp trong main

import java.util.ArrayList;
import java.util.List;

public class Demo {
    public static void main(String[] args) {
        System.out.println("Đã nhập các gói cần thiết");
        List<String> input_list = new ArrayList<String>();
        input_list.add("Java");
        input_list.add("Python");
        input_list.add("JavaScript");
        input_list.add("Shell");
        input_list.add("Scala");
        System.out.println("Danh sách được định nghĩa: " + input_list);
        List<String> first_list = new ArrayList<String>();
        List<String> second_list = new ArrayList<String>();
        int size = input_list.size();
        System.out.println("\nNửa đầu:");
        for (int i = 0; i < size / 2; i++)
            first_list.add(input_list.get(i));
        System.out.println(first_list);
        System.out.println("Nửa sau:");
        for (int i = size / 2; i < size; i++)
            second_list.add(input_list.get(i));
        System.out.println(second_list);
    }
}

Kết quả

Đã nhập các gói cần thiết
Danh sách được định nghĩa: [Java, Python, JavaScript, Shell, Scala]
Nửa đầu: [Java, Python]
Nửa sau: [JavaScript, Shell, Scala]

Ví dụ 2: Sử dụng phương thức tách biệt (OOP)

import java.util.ArrayList;
import java.util.List;

public class Demo {
    static void split_list(List<String> input_list) {
        List<String> first_list = new ArrayList<String>();
        List<String> second_list = new ArrayList<String>();
        int size = input_list.size();
        System.out.println("\nNửa đầu:");
        for (int i = 0; i < size / 2; i++)
            first_list.add(input_list.get(i));
        System.out.println(first_list);
        System.out.println("Nửa sau:");
        for (int i = size / 2; i < size; i++)
            second_list.add(input_list.get(i));
        System.out.println(second_list);
    }
    public static void main(String[] args) {
        System.out.println("Đã nhập các gói cần thiết");
        List<String> input_list = new ArrayList<String>();
        input_list.add("Java");
        input_list.add("Python");
        input_list.add("JavaScript");
        input_list.add("Shell");
        input_list.add("Scala");
        System.out.println("Danh sách được định nghĩa: " + input_list);
        split_list(input_list);
    }
}

Kết quả

Đã nhập các gói cần thiết
Danh sách được định nghĩa: [Java, Python, JavaScript, Shell, Scala]
Nửa đầu: [Java, Python]
Nửa sau: [JavaScript, Shell, Scala]