Julia 言語の配列 (Core.Array) は順序があり、名前を持たないコレクションである。
Core.Array はコレクションの一種である。Julia 言語には、以下に示すコレクションがある。
コレクション | 順序 | 名前 | 値の重複 | 要素の追加・変更 |
---|---|---|---|---|
Core.Array | ✓ | ✗ | ✓ | ✓ |
Core.NamedTuple | ✓ | ✓ | ✓ | ✗ |
Core.Tuple | ✓ | ✗ | ✓ | ✗ |
Base.Dict | ✗ | ✓ | ✓ | ✓ |
Base.Matrix | ✓ | ✗ | ✓ | ✓ |
Base.Set | ✗ | ✗ | ✗ | ✗ |
Base.Vector | ✓ | ✗ | ✓ | ✓ |
Core.Array は以下に示す特徴を持つ。
上記の特徴を持つコレクションは、一般的に「配列」と呼ばれる。
Array{T,N} <: AbstractArray{T,N}
Core.Array の生成方法を以下に示す。
julia> x = [1, 2.0, "foo"]
3-element Array{Any,1}:
1
2.0
"foo"
配列の型を指定できる。
julia> x = Float32[1, 2, 3]
3-element Vector{Float32}:
1.0
2.0
3.0
Core.Array の値は、1 から始まる番号を指定して参照できる。
julia> x = [1, 2.0, "foo"]
3-element Array{Any,1}:
1
2.0
"foo"
julia> x[1]
1
Core.Array は先頭から順に値を取り出すことができる。
julia> x = [1, 2.0, "foo"]
3-element Array{Any,1}:
1
2.0
"foo"
julia> for i in x
println(i)
end
1
2.0
foo
配列の値は変更することができる。
julia> x = [1, 2]
2-element Vector{Int64}:
1
2
julia> x[1] = 0
0
julia> x
2-element Vector{Int64}:
0
2
配列に値を追加することはできない。
julia> x = [1, 2]
2-element Vector{Int64}:
1
2
julia> x[3] = 3
ERROR: BoundsError: attempt to access 2-element Vector{Int64} at index [3]
Core.Array メソッドを使って配列を生成できる。
Array{T}(undef, dims)
Array{T,N}(undef, dims)
Array{T}(nothing, dims)
Array{T,N}(nothing, dims)
Array{T}(missing, dims)
Array{T,N}(missing, dims)
julia> a = Array{Int32}(undef, 2)
2-element Vector{Int32}:
0
0
julia> a = Array{Int32, 2}(undef, 2, 3)
2×3 Matrix{Int32}:
0 0 0
0 0 0
Core.typeof 関数を使って、配列内の要素の型を確認できる。
julia> x = [1, 2, 3]
3-element Vector{Int64}:
1
2
3
julia> typeof(x)
Vector{Int64} (alias for Array{Int64, 1})
Base.empty! 関数を使って、配列の要素を空にすることができる。
julia> x = [1, 2, 3]
3-element Vector{Int64}:
1
2
3
julia> empty!(x)
Int64[]
julia> x
Int64[]
Base.isempty 関数を使って、配列が空かどうかを確認できる。
julia> x = []
Any[]
julia> isempty(x)
true
julia> x = [1, 2, 3]
3-element Vector{Int64}:
1
2
3
julia> isempty(x)
false
Base.length 関数を使って、配列の要素数を確認できる。
julia> x = [1, 2, 3]
3-element Vector{Int64}:
1
2
3
julia> length(x)
3
JuliaLang.org contributors 2023. Julia Documentation