Phương thức Contains
Thuộc phần Kiến thức nền tảng trong hành trình Kotlin của Coddy. Bài học 82 trên 93.
Một tác vụ phổ biến khi làm việc với danh sách là kiểm tra xem một phần tử cụ thể có tồn tại trong tập hợp hay không. Kotlin cung cấp phương thức contains() cho mục đích này. Phương thức trả về true nếu tìm thấy phần tử và false nếu không tìm thấy.
val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana")) // true
println(fruits.contains("Grape")) // falseKotlin cũng cung cấp một cách viết dễ đọc hơn bằng toán tử in, có chức năng hoàn toàn tương tự:
val numbers = listOf(1, 2, 3, 4, 5)
println(3 in numbers) // true
println(10 in numbers) // falseBạn cũng có thể kiểm tra xem một phần tử không có trong danh sách hay không bằng cách dùng !in:
val colors = listOf("Red", "Green", "Blue")
if ("Yellow" !in colors) {
println("Yellow is not available")
}Các phép kiểm tra này cũng hoạt động với chuỗi, cho phép bạn xác minh xem một ký tự hoặc chuỗi con có tồn tại hay không:
val word = "Kotlin"
println('K' in word) // true
println("otl" in word) // trueToán tử (operator) in đặc biệt hữu ích trong các câu lệnh điều kiện (conditional statements), giúp đoạn code của bạn diễn đạt rõ hơn và dễ đọc hơn so với việc tự lặp qua danh sách để tìm một phần tử.
Thử thách
Trung bìnhBạn sẽ nhận được một danh sách tên người dùng được phép và một tên người dùng cần kiểm tra. Hãy dùng toán tử in để xác định tên người dùng đó có trong danh sách được phép hay không.
Nếu tên người dùng có trong danh sách, hãy in ra Access granted. Nếu tên người dùng không có trong danh sách, hãy in ra Access denied.
Định dạng đầu vào:
- Dòng đầu tiên: một số nguyên
nbiểu thị số lượng tên người dùng được phép ndòng tiếp theo: các chuỗi biểu thị tên người dùng được phép- Dòng cuối cùng: tên người dùng cần kiểm tra
Định dạng đầu ra:
In ra Access granted hoặc Access denied tùy theo tên người dùng có trong danh sách được phép hay không.
Ví dụ:
Nếu danh sách được phép là ["alice", "bob", "charlie"] và tên người dùng cần kiểm tra là bob, đầu ra sẽ là:
Access grantedNếu tên người dùng cần kiểm tra là david, đầu ra sẽ là:
Access deniedTự làm thử
fun main() {
// Đọc số lượng tên người dùng được phép
val n = readLine()!!.toInt()
// Đọc các tên người dùng được phép vào danh sách
val allowedUsernames = mutableListOf<String>()
for (i in 1..n) {
allowedUsernames.add(readLine()!!)
}
// Đọc tên người dùng cần kiểm tra
val usernameToCheck = readLine()!!
// TODO: Viết code bên dưới
// Dùng toán tử (operator) 'in' để kiểm tra xem usernameToCheck có trong allowedUsernames không
// In ra "Access granted" nếu tìm thấy, "Access denied" nếu không
}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 Kiến thức nền tảng
4Toán tử phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpToán tử so sánhÔn tập: phép tính đơn giản7Nhập xuất cơ bản
Hàm PrintlnMẫu chuỗiĐầu vào ReadLineChuyển đổi kiểu dữ liệuÔn tập: Số năm đến khi nghỉ hưuÔn tập: Đúng hay sai10Hàm
Khai báo hàmTham số và đối sốGiá trị trả vềĐối số có tênGiá trị mặc địnhHàm chỉ gồm một biểu thứcÔn tập: hàm SigmaÔn tập: hàm kiểm tra hợp lệ5Toán tử, phần 2
Toán tử logic, phần 1Toán tử logic, phần 2Toán tử logic, phần 3Toán tử ba ngôi với biểu thức ifÔn tập: logic đơn giản14Danh sách nâng cao
Cắt danh sách bằng SubListCắt danh sách bằng take và dropToán tử trên dãyPhương thức ContainsÔn tập: tìm kiếm trên một trang3Tính có thể null
An toàn với null là gìKiểu có thể nullToán tử gọi an toànToán tử ElvisCơ bản về thử thách hàmKhẳng định không nullÔn tập: truy cập an toàn6Ra quyết định
Câu lệnh ifCâu lệnh if-elseIf dưới dạng biểu thứcBiểu thức whenWhen với khoảng giá trịÔn tập: máy tính đơn giản9Vòng lặp
Vòng lặp forVòng lặp whileVòng lặp do-whileBreakContinuePhạm vi trong vòng lặpVòng lặp lồng nhauÔn tập: giai thừaÔn tập: đầu vào động12Cơ bản về danh sách
List và MutableListTruy cập phần tửChỉnh sửa danh sáchPhương thức của ListPair và TripleÔn tập: danh sách sản phẩmÔn tập: danh sách đảo ngược15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát khỏi chương trìnhTự luyện tập: Playground Kotlin