Toán học: hiệu tập hợp
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 31 trên 59.
Phép hiệu giữa hai tập hợp (set) tạo ra một tập hợp mới chứa các phần tử có trong tập hợp thứ nhất nhưng không có trong tập hợp thứ hai. Trong Java, bạn có thể thực hiện việc này bằng phương thức (method) removeAll().
First, create two HashSets.
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);Tiếp theo, tạo một HashSet mới cho hiệu của hai tập hợp, bắt đầu với tất cả phần tử từ set1:
HashSet<Integer> differenceSet = new HashSet<>(set1);Sau đó, xóa tất cả phần tử có trong set2:
differenceSet.removeAll(set2); // [1]Thử thách
DễTạo một phương thức có tên setDifference nhận hai HashSet số nguyên làm đầu vào. Phương thức cần tính hiệu tập hợp, gồm các phần tử có trong tập hợp thứ nhất nhưng không có trong tập hợp thứ hai, rồi in kết quả theo định dạng:
Difference: [elements]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 setDifference(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 JSON biểu diễn tập hợp (set) thứ nhất (ví dụ: [1,2,3])
String set1String = scanner.nextLine();
// Đọc chuỗi JSON biểu diễn tập hợp thứ hai (ví dụ: [2,3,4])
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);
setDifference(set1, set2);
}
}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
1Mảng đa chiều
Kiến thức cơ bản về mảng 2DTruy cập phần tử trong mảng 2DVòng lặp lồng nhau với mảng 2DÔn tập về mảng 2DPhép cộng và phép trừ ma trậnMảng không đềuMảng 3D trở lênCác mẫu thường gặp với mảng 2DÔn tập về mảng2HashMap phần 1
HashMap là gì?Khai báo HashMapTruy cập giá trịKiểm tra khóa có tồn tạiChỉnh sửa từ điểnÔn tập: HashMap5HashSet phần 2
Toán học: hợp của các HashSetToán học: giao của HashSetToán học: hiệu tập hợpToán học: hiệu đối xứngTập con và tập chaDuyệt qua các tập hợpTự luyện tập: Trình biên dịch Java online