# How to get a typed empty array?

**URL:** https://discourse.julialang.org/t/how-to-get-a-typed-empty-array/79206
**Category:** General Usage
**Tags:** question, makie
**Created:** [April 8, 2022, 4:14am UTC](https://discourse.julialang.org/t/how-to-get-a-typed-empty-array/79206 "2022-04-08T04:14:19Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Katamari](https://avatars.discourse-cdn.com/v4/letter/k/57b2e6/32.png) [@Katamari](https://discourse.julialang.org/u/Katamari)
#### Post date: [April 8, 2022, 4:14am UTC](https://discourse.julialang.org/t/how-to-get-a-typed-empty-array/79206/1 "2022-04-08T04:14:20Z")

</div>

I need an empty array with type Tuple{Float64} to solve the following problem.

I want to scatter points using CairoMakie.

The following code works:

```julia
using CairoMakie
scatter([(1, 1)])

```

The following code doesn’t work:

```julia
using CairoMakie
a=[]
push!(a, (1, 1))
scatter(a)

```

I want to use an empty array here because I will push elements using for loop next.

I think I need something like `a=[]::Array{Tuple{Float64}}` but it doesn’t work.

---

<div class="post-metadata">

### Author: ![vettert](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vettert/32/30599_2.png) [@vettert](https://discourse.julialang.org/u/vettert)
#### Post date: [April 8, 2022, 4:26am UTC](https://discourse.julialang.org/t/how-to-get-a-typed-empty-array/79206/2 "2022-04-08T04:26:37Z")

</div>

This should work:

```julia
using CairoMakie
a = Array{Tuple{Float64, Float64}}(undef, 1)
for i in 1:5
    push!(a, (i, i))
end
scatter(a)

```

Note that I have assumed that your data are of type `Float64` in general.

---

<div class="post-metadata">

### Author: ![mrs504aa](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrs504aa/32/36473_2.png) [@mrs504aa](https://discourse.julialang.org/u/mrs504aa)
#### Post date: [April 8, 2022, 4:27am UTC](https://discourse.julialang.org/t/how-to-get-a-typed-empty-array/79206/3 "2022-04-08T04:27:08Z")

</div>

```julia
julia> A = Tuple{Int64,Int64}[]
Tuple{Int64, Int64}[]

julia> push!(A, (1,1))
1-element Vector{Tuple{Int64, Int64}}:
 (1, 1)

julia> A[1]
(1, 1)

```

Maybe this is what you need.

---

<div class="post-metadata">

### Author: ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)
#### Post date: [April 8, 2022, 5:16am UTC](https://discourse.julialang.org/t/how-to-get-a-typed-empty-array/79206/4 "2022-04-08T05:16:21Z")

</div>

> [@vettert](#):
>
> ```julia
> a = Array{Tuple{Float64, Float64}}(undef, 1)
> 
> ```

If you are going to `push!` to it, then the size should be zero, not one. Otherwise, there will remain a garbage value at the first index.

---

<div class="post-metadata">

### Author: ![vettert](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vettert/32/30599_2.png) [@vettert](https://discourse.julialang.org/u/vettert)
#### Post date: [April 8, 2022, 5:25am UTC](https://discourse.julialang.org/t/how-to-get-a-typed-empty-array/79206/5 "2022-04-08T05:25:56Z")

</div>

Sorry, my bad! You are of course right 🙂

---

<div class="post-metadata">

### Author: ![photor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/photor/32/14343_2.png) [@photor](https://discourse.julialang.org/u/photor)
#### Post date: [April 8, 2022, 9:19am UTC](https://discourse.julialang.org/t/how-to-get-a-typed-empty-array/79206/6 "2022-04-08T09:19:44Z")

</div>

Then

```julia
a = Array{Tuple{Float64, Float64}}(undef, 0)

```

will be what you need.
