Menu
CoddyTech

Toán học: hợp của các HashSet

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 29 trên 59.

Hợp của hai tập hợp là một tập hợp mới chứa mọi phần tử có trong một trong hai tập hợp. Trong Java, bạn có thể tính hợp của hai HashSet bằng phương thức addAll(). Phương thức này thêm tất cả phần tử từ một tập hợp vào tập hợp còn lại và bỏ qua các phần tử trùng lặp.

Trước tiên, hãy tạo hai HashSet mới:

HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);

Dùng phương thức addAll() để thêm các phần tử từ tập hợp thứ hai vào tập hợp hợp nhất.

// Đầu tiên, tạo một HashSet mới từ set1
HashSet<Integer> unionSet = new HashSet<>(set1);
unionSet.addAll(set2); // Sau đó, thêm tất cả phần tử từ set2
System.out.println("Union: " + unionSet);
// Đầu ra: [1, 2, 3] (thứ tự có thể khác)
challenge icon

Thử thách

Dễ

Tạo một phương thức có tên unionSets nhận hai HashSet số nguyên làm đầu vào, tính hợp của chúng và in ra theo định dạng:

Union: [1, 2, 3]

Tự làm thử

import java.util.HashSet;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void unionSets(HashSet<Integer> set1, HashSet<Integer> set2) {
        // Viết code của bạn ở đây
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Đọc chuỗi (string) JSON biểu diễn tập hợp (set) đầu tiên (ví dụ: [1,2])
        String set1String = scanner.nextLine();
        // Đọc chuỗi JSON biểu diễn tập hợp thứ hai (ví dụ: [2,3])
        String set2String = scanner.nextLine();

        Type setType = new TypeToken<HashSet<Integer>>(){}.getType();
        HashSet<Integer> set1 = new Gson().fromJson(set1String, setType);
        HashSet<Integer> set2 = new Gson().fromJson(set2String, setType);
        
        unionSets(set1, set2);
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Java online