矢量

向量是一维数组,并且支持与它们的多维对应物大致相同的接口。但是,矢量也支持其他操作。

首先,请注意 Vector{T} 中某些类型的 Vector{T}Array{T,1} 相同。

julia> Vector{Int}
Array{Int64,1}

julia> Vector{Float64}
Array{Float64,1}

一个人将 Array{Int64,1} 视为“Int64 的一维数组”。

与多维数组不同,可以调整向量的大小。可以从矢量的前面或后面添加或删除元素。这些操作都是不变的摊销时间

julia> A = [1, 2, 3]
3-element Array{Int64,1}:
 1
 2
 3

julia> push!(A, 4)
4-element Array{Int64,1}:
 1
 2
 3
 4

julia> A
4-element Array{Int64,1}:
 1
 2
 3
 4

julia> pop!(A)
4

julia> A
3-element Array{Int64,1}:
 1
 2
 3

julia> unshift!(A, 0)
4-element Array{Int64,1}:
 0
 1
 2
 3

julia> A
4-element Array{Int64,1}:
 0
 1
 2
 3

julia> shift!(A)
0

julia> A
3-element Array{Int64,1}:
 1
 2
 3

按照惯例,这些函数 push!pop!unshift!shift! 中的每一个都以感叹号结尾,表示它们正在改变它们的参数。函数 push!unshift! 返回数组,而 pop!shift! 返回删除的元素。