Tập con và tập cha
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 33 trên 59.
Tập hợp con là tập hợp mà mọi phần tử đều thuộc một tập hợp khác. Tập hợp cha là tập hợp chứa tất cả phần tử của một tập hợp khác.
Đầu tiên, hãy tạo hai HashSet:
HashSet<String> setA = new HashSet<>();
setA.add("apple");
setA.add("banana");
HashSet<String> setB = new HashSet<>();
setB.add("apple");
setB.add("banana");
setB.add("cherry");Sử dụng phương thức containsAll():
boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Đầu ra: setA is a subset of setB: trueTương tự, setB là tập hợp bao hàm setA vì nó chứa mọi phần tử của setA.
Thử thách
DễTạo một phương thức có tên checkSubsetSuperset, nhận vào hai HashSet chứa chuỗi:
- setA và setB
Phương thức cần:
Kiểm tra xem setA có phải là tập con của setB bằng cách dùng
containsAll(), rồi in ra:setA is a subset of setB: <true/false>Kiểm tra xem setB có phải là tập cha của setA không (đây cũng là phép kiểm tra tương tự), rồi in ra:
setB is a superset of setA: <true/false>
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 checkSubsetSuperset(HashSet<String> setA, HashSet<String> setB) {
// Viết code của bạn ở đây
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Đọc chuỗi JSON cho setA (ví dụ: ["apple","banana"])
String setAString = scanner.nextLine();
// Đọc chuỗi JSON cho setB (ví dụ: ["apple","banana","cherry"])
String setBString = scanner.nextLine();
Type setType = new TypeToken<HashSet<String>>(){}.getType();
HashSet<String> setA = new Gson().fromJson(setAString, setType);
HashSet<String> setB = new Gson().fromJson(setBString, setType);
checkSubsetSuperset(setA, setB);
}
}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