Advertisement
ptrelford

Hashtable

Oct 4th, 2012
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.50 KB | None | 0 0
  1. type Hashtable<'TKey,'TValue> when 'TKey : equality
  2.        (capacity:int, items:('TKey * 'TValue) seq)  =
  3.    let table = Array.create capacity []
  4.    let indexOf key = (hash key)%capacity
  5.    do  for key,value in items do
  6.        let index = indexOf key
  7.        table.[index] <- (key,value)::table.[index]
  8.    new(items) = Hashtable(Seq.length items, items)
  9.    member this.TryGetValue(key:'TKey) =      
  10.         table.[indexOf key]
  11.         |> List.tryFind (fst >> (=) key)
  12.         |> Option.map snd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement