Gói collection trong Kotlin chứa các hàm mở rộng cho các thao tác phổ biến trên các set: tìm giao, hợp hoặc hiệu của các tập hợp.
Để hợp nhất hai collection thành một, hãy sử dụng hàm union(). Nó có thể được sử dụng ở dạng infix là a union b. Lưu ý rằng đối với các collection có thứ tự, thì thứ tự của các toán hạng là vô cùng quan trọng: trong collection kết quả, các phần tử của toán hạng đầu tiên đi trước các phần tử của toán hạng thứ hai.
Để tìm giao điểm giữa hai tập hợp ( tìm các phần tử có trong cả hai tập hợp), hãy sử dụng hàm intersect(). Để tìm các phần tử của collection không có trong collection khác, hãy sử dụng hàm subtract(). Ví dụ, cả hai hàm này cũng có thể được gọi ở dạng infix a intersect b.
val numbers = setOf("one", "two", "three")
println(numbers union setOf("four", "five"))
println(setOf("four", "five") union numbers)
println(numbers intersect setOf("two", "one"))
println(numbers subtract setOf("three", "four"))
println(numbers subtract setOf("four", "three")) // same output
Lưu ý rằng các thao tác trên set cũng được hỗ trợ bởi List. Tuy nhiên, kết quả của các thao tác với set trên list thì vẫn là a Set, vì vậy tất cả các phần tử trùng lặp đều bị loại bỏ.
Tài liệu từ cafedev:
- Full series tự học Kotlin từ cơ bản tới nâng cao tại đây nha.
- Ebook về Kotlin tại đây.
- Các series tự học lập trình khác
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!