2017-09-05 70 views
2

我是新來的茱莉亞!我剛剛從Java切換到茱莉亞,有人可以告訴我茱莉亞有hashmap結構嗎?如果不是,那麼我如何將一種類型映射到茱莉亞的另一種類型?茱莉亞有結構像hashmaps?

回答

4

是的!它確實有。以下是如何創建和訪問Julia內部的一個。

# Creating the Dict in Julia 
julia> hashmap = Dict("language"=>"julia","version"=>"0.6") 
     Dict{String,String} with 2 entries: 
      "language" => "julia" 
      "version" => "0.6" 

# To access individual keys 
julia> hashmap["language"] 
"julia" 

# To find the fields inside a dictionary 
julia> fieldnames(hashmap) 
8-element Array{Symbol,1}: 
:slots 
:keys 
:vals 
:ndel 
:count 
:age 
:idxfloor 
:maxprobe 

# To iterate over the hashmap 
julia> for i in hashmap 
      println(i) 
     end 
"language"=>"julia" 
"version"=>"0.6"  
5

Julia Dict被實現爲散列映射。與Java一樣,考慮接口與實現也很重要。

Associative是一種抽象類型,大致對應於Java中的Map;這些目的可通過他們的密鑰索引,以獲取相應的值:

value = associative[key] 

DictAssociative一個具體亞型,其爲無序散列映射實現。

dict = Dict("a" => 1, "b" => 3) 
@show dict["a"] # dict["a"] = 1