Scala Collection – Map

Scala Map là một collection theo cặp key và value, hay có thể gọi nó là một hash table. Chúng ta có thể sử dụng key để truy cập một giá trị trong map. Những key này là duy nhất, value thì không cần. Scala map có 2 kiểu là mutable và immutable. Mặc định của nó là immutable. Để sử dụng một mutbale Map chúng ta phải sử dụng class scala.collection.mutable.Map.  Để sử dụng cả hai trong cùng một chỗ thì chúng ta có thể tham chiếu immutable Map bằng Map và mutable Map bằng mutable.Map

Hãy cùng xem ví dụ Map sau của một sinh viên với studentId là key còn name là value

Các hoạt động cơ bản

Các phương thức cơ bản được hỗ trợ là

  • keys: Trả về iterator chứa các key trong Map
  • values: Trả về một iterator chứa các value trong Map
  • isEmpty: Trả về true nếu Map là rỗng

Hãy cùng xem ví dụ sau đây

Kết quả

Nối các Map

Toán tử ++ hoặc Map.++() dùng để nối 2 hoặc nhiều Map lại với nhau nhưng các key trùng lặp sẽ bị loại bỏ

Hãy xem ví dụ bên dưới đây

Kết quả

In các key và value trong Map

Vòng lặp foreach được dùng để lặp tất cả các cặp key và value trong Map

Hãy cùng xem ví dụ sau đây

Kết quả

Kiểm tra key trong Map

Phương thức Map.contains dùng để kiểm tra một key có tồn tại trong Map hay không

Kết quả

Các phương thức

Chúng ta sẽ tạo một Map m để làm ví dụ cho các phương thức như sau

Sau đó tạo một Map m1

Một vài phương thức khác hữu hiệu là

  • def ++(xs: Map[(X, Y)]): Map[X, Y] → Trả về một Map mới bao gồm Map hiện tại và những cái được cung cấp bởi Map a

  • def -(e1: X, e2: X, elems: X*): Map[X, Y] → Trả về Map mới chứa các phần tử của Map hiện tại nhưng loại trừ nhưng key bằng e1, e2 hoặc bất kỳ elems nào.

  • def count(a: ((X, Y)) => Boolean): Int → Đếm số các phần tử

  • def max: (X,Y) → Tìm phần tử lớn nhất trong Map

  • def min: (X,Y) → Tìm phần tử nhỏ nhất trong Map

 

You May Also Like

About the Author: Nguyen Dinh Thuc

Leave a Reply

avatar
  Subscribe  
Notify of