F # - Peta

Di F #, peta adalah jenis himpunan khusus yang mengaitkan nilai dengan kunci. Peta dibuat dengan cara yang sama seperti set dibuat.

Membuat Peta

Peta dibuat dengan membuat peta kosong menggunakan Map.empty dan menambahkan item menggunakan fungsi Tambah. Contoh berikut menunjukkan ini -

Contoh

(* Create an empty Map *)
let students =
   Map.empty. (* Creating an empty Map *)
      Add("Zara Ali", "1501").
      Add("Rishita Gupta", "1502").
      Add("Robin Sahoo", "1503").
      Add("Gillian Megan", "1504");;
printfn "Map - students: %A" students

(* Convert a list to Map *)
let capitals =
   [ "Argentina", "Buenos Aires";
      "France ", "Paris";
      "Chili", "Santiago";
      "Malaysia", " Kuala Lumpur";
      "Switzerland", "Bern" ]
   |> Map.ofList;;
printfn "Map capitals : %A" capitals

Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -

Map - students: map
[("Gillian Megan", "1504"); ("Rishita Gupta", "1502"); ("Robin Sahoo", "1503
");
("Zara Ali", "1501")]
Map capitals : map
[("Argentina", "Buenos Aires"); ("Chili", "Santiago"); ("France ", "Paris");
("Malaysia", " Kuala Lumpur"); ("Switzerland", "Bern")]

Anda dapat mengakses elemen individu di peta menggunakan kunci.

Contoh

(* Create an empty Map *)
let students =
   Map.empty. (* Creating an empty Map *)
      Add("Zara Ali", "1501").
      Add("Rishita Gupta", "1502").
      Add("Robin Sahoo", "1503").
      Add("Gillian Megan", "1504");;
printfn "Map - students: %A" students

(*Accessing an element using key *)
printfn "%A" students.["Zara Ali"]

Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -

Map - students: map
[("Gillian Megan", "1504"); ("Rishita Gupta", "1502"); ("Robin Sahoo", "1503
");
("Zara Ali", "1501")]
"1501"

Operasi Dasar di Maps

Tambahkan nama modul

Tabel berikut menunjukkan operasi dasar pada peta -

Anggota Deskripsi
Menambahkan Mengembalikan peta baru dengan pengikatan yang ditambahkan ke peta yang diberikan.
ContainsKey Menguji apakah suatu elemen ada dalam domain peta.
Menghitung Jumlah binding di peta.
Kosong Mengembalikan nilai true jika tidak ada binding di peta.
Barang Cari elemen di peta. Menambah KeyNotFoundException jika tidak ada pengikatan di peta.
Menghapus Menghapus elemen dari domain peta. Tidak ada pengecualian yang dimunculkan jika elemen tidak ada.
TryFind Cari elemen di peta, mengembalikan a Some nilai jika elemen berada dalam domain peta dan None jika tidak.

Contoh berikut menunjukkan penggunaan beberapa fungsi di atas -

Contoh

(* Create an empty Map *)
let students =
   Map.empty. (* Creating an empty Map *)
      Add("Zara Ali", "1501").
      Add("Rishita Gupta", "1502").
      Add("Robin Sahoo", "1503").
      Add("Gillian Megan", "1504").
      Add("Shraddha Dubey", "1505").
      Add("Novonil Sarker", "1506").
      Add("Joan Paul", "1507");;
printfn "Map - students: %A" students
printfn "Map - number of students: %d" students.Count

(* finding the registration number of a student*)
let found = students.TryFind "Rishita Gupta"
match found with
| Some x -> printfn "Found %s." x
| None -> printfn "Did not find the specified value."

Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -

Map - students: map
[("Gillian Megan", "1504"); ("Joan Paul", "1507"); ("Novonil Sarker", "1506"
);
("Rishita Gupta", "1502"); ("Robin Sahoo", "1503");
("Shraddha Dubey", "1505"); ("Zara Ali", "1501")]
Map - number of students: 7
Found 1502.