Ôn tập: 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 28 trên 59.
Thử thách
DễTạo một phương thức tên là processHashSet nhận ba đối số:
- Một
HashSet<Object>(set) - Một
Object(input) cần xử lý - Một
String(operation) chỉ định thao tác cần thực hiện
Dùng câu lệnh if/else và các phương thức HashSet bạn đã học, phương thức này sẽ trả về một String dựa trên operation:
"add": thêminputvào tập hợp. Trả về"Added successfully"nếu phần tử được thêm, hoặc"Element already exists"nếu phần tử đã có trong tập hợp."remove": xóainputkhỏi tập hợp. Trả về"Removed successfully"nếu phần tử được xóa, hoặc"Element not found"nếu phần tử không có trong tập hợp."find": trả về"Found at index: [index]"nếu tập hợp chứainput(trong đó[index]là vị trí của phần tử theo thứ tự lặp), nếu không thì trả về"Element not found"."count": trả về"Number of elements: [count]", trong đó[count]là số phần tử trong tập hợp (dùngsize()).
Trước tiên, hãy kiểm tra các đầu vào:
- Nếu
setlànull: trả về"Invalid set". - Nếu
operationlànullhoặc không phải một trong bốn giá trị trên: trả về"Invalid operation". - Với thao tác
"find", nếuinputlànull: trả về"Cannot find null".
Tự làm thử
import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static String processHashSet(HashSet<Object> set, Object input, String operation) {
// Viết code của bạn ở đây
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Đọc tập hợp ban đầu
String[] items = scanner.nextLine().split(",");
HashSet<Object> set = new HashSet<>();
if (!items[0].equals("empty")) {
for (String item : items) {
// Thử chuyển thành số nguyên trước
try {
set.add(Integer.parseInt(item));
} catch (NumberFormatException e) {
set.add(item);
}
}
}
// Đọc đầu vào
String inputStr = scanner.nextLine();
Object input;
try {
input = Integer.parseInt(inputStr);
} catch (NumberFormatException e) {
input = inputStr;
}
// Đọc thao tác
String operation = scanner.nextLine();
System.out.println(processHashSet(set, input, operation));
}
}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ảng4HashSet phần 1
HashSet là gì?Thêm một phần tửXóa một phần tửKiểm tra phần tử có tồn tại khôngRỗng và kích thướcXóa và sao chépÔn tập: HashSet2HashMap 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: HashMapTự luyện tập: Trình biên dịch Java online