矢量
向量是一维数组,并且支持与它们的多维对应物大致相同的接口。但是,矢量也支持其他操作。
首先,请注意 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! 返回删除的元素。