朱莉娅有结构的哈希图吗?

Hon*_*wal 5 hashmap data-structures julia

我是julia的新手!我刚刚从java切换到julia,有人能告诉我julia是否有类似结构的hashmap?如果不是,那么如何在朱莉娅中将一种类型映射到另一种类型?

Rah*_*hul 6

是!!确实有.以下是如何创建和访问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"      
Run Code Online (Sandbox Code Playgroud)


Fen*_*ang 5

Julia Dict实现为hashmap.与Java一样,考虑接口与实现非常重要.

Associative是一个抽象类型,大致对应Map于Java; 这些对象可以通过其键来索引以获取相应的值:

value = associative[key]
Run Code Online (Sandbox Code Playgroud)

Dict是一个具体的子类型Associative,实现为无序的hashmap.

dict = Dict("a" => 1, "b" => 3)
@show dict["a"]  # dict["a"] = 1
Run Code Online (Sandbox Code Playgroud)