F # - Từ điển có thể thay đổi
Các Dictionary<'TKey, 'TValue> lớp là tương tự có thể thay đổi của cấu trúc dữ liệu bản đồ F # và chứa nhiều chức năng giống nhau.
Tóm tắt lại từ chương Bản đồ trong F #, bản đồ là một loại tập hợp đặc biệt liên kết các giá trị với khóa.
Tạo từ điển có thể thay đổi
Từ điển có thể thay đổi được tạo bằng cách sử dụng newtừ khóa và gọi hàm tạo của danh sách. Ví dụ sau đây chứng minh điều này -
open System.Collections.Generic
let dict = new Dictionary<string, string>()
dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")
printfn "Dictionary - students: %A" dict
Khi bạn biên dịch và thực thi chương trình, nó sẽ tạo ra kết quả sau:
Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Lớp Từ điển (TKey, TValue)
Lớp Từ điển (TKey, TValue) đại diện cho một tập hợp các khóa và giá trị.
Các bảng sau cung cấp các thuộc tính, hàm tạo và phương thức của lớp Danh sách (T):
Tính chất
Bất động sản | Sự miêu tả |
---|---|
Người so sánh | Nhận IEqualityComparer (T) được sử dụng để xác định mức độ bình đẳng của các khóa cho từ điển. |
Đếm | Nhận số lượng cặp khóa / giá trị có trong Từ điển (TKey, TValue). |
Mục | Nhận hoặc đặt giá trị được liên kết với khóa được chỉ định. |
Chìa khóa | Nhận bộ sưu tập có chứa các khóa trong Từ điển (TKey, TValue). |
Giá trị | Nhận một bộ sưu tập chứa các giá trị trong Từ điển (TKey, TValue). |
Người xây dựng
Người xây dựng | Sự miêu tả |
---|---|
Từ điển (TKey, TValue) () | Khởi tạo một phiên bản mới của Dictionary(TKey, TValue) lớp trống, có dung lượng ban đầu mặc định và sử dụng trình so sánh bình đẳng mặc định cho loại khóa. |
Từ điển (TKey, TValue) (IDictionary (TKey, TValue)) | Khởi tạo một phiên bản mới của Dictionary(TKey, TValue) lớp có chứa các phần tử được sao chép từ IDictionary(TKey, TValue) và sử dụng trình so sánh bình đẳng mặc định cho loại khóa. |
Từ điển (TKey, TValue) (IEqualityComparer (TKey)) | Khởi tạo một phiên bản mới của Dictionary(TKey, TValue) lớp trống, có dung lượng ban đầu mặc định và sử dụng IEqualityComparer(T). |
Từ điển (TKey, TValue) (Int32) | Khởi tạo một phiên bản mới của Dictionary(TKey, TValue) lớp trống, có dung lượng ban đầu được chỉ định và sử dụng trình so sánh bình đẳng mặc định cho loại khóa. |
Từ điển (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) | Khởi tạo một phiên bản mới của Dictionary(TKey, TValue) lớp có chứa các phần tử được sao chép từ IDictionary(TKey, TValue) và sử dụng IEqualityComparer(T). |
Từ điển (TKey, TValue) (Int32, IEqualityComparer (TKey)) | Khởi tạo một phiên bản mới của Dictionary(TKey, TValue) lớp trống, có dung lượng ban đầu được chỉ định và sử dụng IEqualityComparer(T). |
Từ điển (TKey, TValue) (SerializationInfo, StreamingContext) | Khởi tạo một phiên bản mới của ictionary(TKey, TValue) lớp với dữ liệu được tuần tự hóa. |
Phương pháp
phương pháp | Sự miêu tả |
---|---|
Thêm vào | Thêm khóa và giá trị đã chỉ định vào từ điển. |
Thông thoáng | Xóa tất cả các khóa và giá trị khỏi Từ điển (TKey, TValue). |
ContainsKey | Xác định xem Từ điển (TKey, TValue) có chứa khóa được chỉ định hay không. |
ContainsValue | Xác định xem Từ điển (TKey, TValue) có chứa một giá trị cụ thể hay không. |
Bằng (Đối tượng) | Xác định xem đối tượng được chỉ định có bằng đối tượng hiện tại hay không. (Được kế thừa từ Object.) |
Hoàn thiện | Cho phép một đối tượng cố gắng giải phóng tài nguyên và thực hiện các hoạt động dọn dẹp khác trước khi nó được thu hồi bằng cách thu gom rác. (Được kế thừa từ Object.) |
GetEnumerator | Trả về một điều tra viên đã lặp qua Từ điển (TKey, TValue). |
GetHashCode | Đóng vai trò là hàm băm mặc định. (Được kế thừa từ Object.) |
GetObjectData | Triển khai giao diện System.Runtime.Serialization.ISerializable và trả về dữ liệu cần thiết để tuần tự hóa phiên bản Dictionary (TKey, TValue). |
GetType | Rút ra loại của trường hợp hiện tại. (Được kế thừa từ Object.) |
MemberwiseClone | Tạo một bản sao nông của Đối tượng hiện tại. (Được kế thừa từ Object.) |
OnDeserialization | Triển khai giao diện System.Runtime.Serialization.ISerializable và tăng sự kiện deserialization khi quá trình deserialization hoàn tất. |
Tẩy | Xóa giá trị bằng khóa được chỉ định khỏi Từ điển (TKey, TValue). |
ToString | Trả về một chuỗi đại diện cho các đối tượng hiện tại. (Được kế thừa từ Object.) |
TryGetValue | Nhận giá trị được liên kết với khóa được chỉ định. |
Thí dụ
open System.Collections.Generic
let dict = new Dictionary<string, string>()
dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")
printfn "Dictionary - students: %A" dict
printfn "Total Number of Students: %d" dict.Count
printfn "The keys: %A" dict.Keys
printf"The Values: %A" dict.Values
Khi bạn biên dịch và thực thi chương trình, nó sẽ tạo ra kết quả sau:
Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Total Number of Students: 4
The keys: seq ["1501"; "1502"; "1503"; "1504"]
The Values: seq ["Zara Ali"; "Rishita Gupta"; "Robin Sahoo"; "Gillian Megan"]