# Vectors in Julia

**Vectors** in Julia are a collection of elements just like other collections like Array, Sets, Dictionaries, etc. Vector are different from Sets because vectors are ordered collection of elements, and can hold duplicate values, unlike sets which require all the elements to be unique. Vectors are one-dimensional __arrays__, and support mostly the same interface as their multi-dimensional counterparts.

**Syntax:**

vector_name = [value1, value2, value3,..]

vector_name = Vector{DataType}([value1, value2, value3,..])

**Note: **Vector{T} where T is some type means the same as Array{T,1}.

Vector{Int}

Array{Int64,1}

# Vector{Int} = one-dimensional Vector of Int64.

Vector{Float64}

Array{Float64,1}

### 1D Vector

A 1D Vector or 1-dimensional Vector is a linear representation of elements. A 1D Vector can only have either a row or a column. It represents a type of list that can be accessed by subsequent memory locations. Vectors can be resized. Elements can be added or removed from the front or back of the vector.

## Julia

`A ` `=` `[` `1` `, ` `2` `, ` `3` `]` `3` `-` `element Array{Int64,` `1` `}:` ` ` `1` ` ` `2` ` ` `3` |

**Creating **a** Vector**

A Vector in Julia can be created with the use of a pre-defined keyword **Vector()** or by simply writing Vector elements within square brackets([]). There are different ways of creating Vector.

vector_name = [value1, value2, value3,..] or vector_name = Vector{Datatype}([value1, value2, value3,..])

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `vector ` `=` `[` `1` `, ` `2` `, ` `3` `, ` `4` `] ` `println(vector)` ` ` `# Vector{T}(undef, n)` `Vector{Float64}(undef, ` `3` `)` |

**Output:**

julia> vector = [1, 2, 3, 4] 4-element Array{Int64,1}: 1 2 3 4 julia> Vector{Float64}(undef, 3) 3-element Array{Float64,1}: 6.90966e-310 6.90966e-310 6.90966e-310

**Accessing Vector elements**

Elements of a vector can be accessed by passing the index of the value in the vector as a parameter to the vector_name. This index is passed within ‘[ ]’. A range of vector elements can be accessed by passing the index range with the use of ‘:’.

**Example: **Accessing elements in a Vector

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a Vector ` `vector ` `=` `[` `1` `, ` `2` `, ` `3` `, ` `"Geeks"` `, ` `"tutorial"` `, ` `"Geeks"` `] ` ` ` `# Passing index value ` `println(vector[` `2` `])` ` ` `# Accessing last value ` `println(vector[end]) ` ` ` `# Passing a range of indices ` `println(vector[` `2` `:` `3` `]) ` `# selects the second and third elements` ` ` `# Access every other element` `println(vector[` `1` `:` `2` `:end])` |

**Output:**

2Geeks Any[2, 3] Any[1, 3, "tutorial"]

### Operation on Vectors

### Push Operation on Vectors

It pushes the elements into a vector from the rear end. This push operation is performed with the use of a predefined **push!() **function.

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V ` `=` `[` `1` `, ` `2` `, ` `3` `, ` `4` `] ` ` ` `# push 5 in vector` `push!(V, ` `5` `)` ` ` `# return length of vector` `println(length(V))` ` ` `# print vector` `println(V)` |

**Output:**

5 1 2 3 4 5

### Pop Operation on Vectors

It is used to pop or remove elements from a vector from the rear end. This pop operation is performed with the use of **pop!() **function.

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V ` `=` `[` `1` `, ` `2` `, ` `3` `, ` `4` `, ` `5` `] ` ` ` `# remove 5 from vector` `pop!(V)` ` ` `# Printing vector` `println(V)` |

**Output:**

1 2 3 4

### Adding elements from the Front end

Julia provides a predefined function called **unshift!()** to push the elements into a vector from the front end.

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V ` `=` `[` `1` `, ` `2` `, ` `3` `, ` `4` `] ` ` ` `# push 5 in vector at front` `unshift!(V, ` `5` `)` ` ` `# Printing vector` `println(V)` |

**Output:**

5 1 2 3 4

### Removing elements from the Front End

Julia provides a predefined function called** shift!()** which is used to pop or remove elements from a vector from the front.

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V ` `=` `[` `1` `, ` `2` `, ` `3` `, ` `4` `, ` `5` `] ` ` ` `# remove 1 from vector` `shift!(V)` ` ` `# Printing Vector` `println(V)` |

Output:

2 3 4 5

### Adding List of Elements to a Vector

To add a list of items into a vector, julia provides a predefined function **append!().**

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V ` `=` `Vector{Int64}([` `1` `, ` `2` `, ` `3` `, ` `4` `]) ` ` ` `# append a list of items in a vector` `append!(V, [` `5` `, ` `6` `, ` `7` `])` ` ` `# Printing Vector` `println(V)` |

**Output:**

1 2 3 4 5 6 7

### Sum of Vector elements

Sum of vector elements can be calculated with the use of Julia’s predefined function **sum().**

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V ` `=` `Vector{Int64}([` `1` `, ` `2` `, ` `3` `, ` `4` `]) ` ` ` `# print sum of vector element` `println(` `sum` `(V))` |

**Output:**

10

### Mean of Vector Elements

To compute the average of vector elements, Julia provides a predefined function **mean() **to calculate the average of elements.

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V ` `=` `Vector{Int64}([` `1` `, ` `2` `, ` `3` `, ` `4` `]) ` ` ` `# print average of vector element` `println(mean(V))` |

**Output:**

2

### Vector Addition and Subtraction

- Vector addition uses ‘+’ and vector subtraction uses ‘ -‘.
- The arrays must have the same length

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V1 ` `=` `[` `1` `, ` `2` `, ` `3` `, ` `4` `, ` `5` `] ` `V2 ` `=` `[` `6` `, ` `7` `, ` `8` `, ` `9` `, ` `10` `]` ` ` `# Addition of Vector` `println(V1 ` `+` `V2)` ` ` `# Substraction of Vector` `println(V2 ` `-` `V1)` |

**Output:**

Any[7, 9, 11, 13, 15] Any[5, 5, 5, 5, 5]

### Scaler-Vector Addition and Multiplication

- The scalar is added to each entry of the vector.
- Scalar-vector multiplication uses *

## Julia

`# Julia program to illustrate ` `# the use of Vector` ` ` `# Creating a 1D Vector` `V1 ` `=` `[` `1` `, ` `2` `, ` `3` `, ` `4` `, ` `5` `] ` ` ` `# Addition of scaler-Vector` `println(V1 ` `+` `5` `)` ` ` `# Multiplication of Vector` `println(V1 ` `*` `2` `)` |

**Output:**

Any[6, 7, 8, 9, 10] Any[2, 4, 6, 8, 10]