Difference between Array and Map

Array:

An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together. This makes it easier to calculate the position of each element by simply adding an offset to a base value, i.e., the memory location of the first element of the array (generally denoted by the name of the array).
The diagrammatic representation of the Array is given below:
 

Program 1:
Below is an illustration of a 1D array:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate 1D array
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
    // Given array
    int arr[] = { 6, 10, 5, 0 };
 
    // Print the array elements
    for (int i = 0; i < 4; i++) {
        cout << arr[i] << " ";
    }
 
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to illustrate 1D array
class GFG{
 
// Driver Code
public static void main(String[] args)
{
    // Given array
    int arr[] = { 6, 10, 5, 0 };
 
    // Print the array elements
    for (int i = 0; i < 4; i++)
    {
        System.out.print(arr[i] + " ");
    }
}
}
 
// This code is contributed by Rohit_ranjan

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to illustrate 1D array
 
# Driver Code
if __name__ == '__main__':
   
    # Given array
    arr = [6, 10, 5, 0];
 
    # Prthe array elements
    for i in range(0, 4):
        print(arr[i], end = " ");
 
# This code is contributed by Rohit_ranjan

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate 1D array
using System;
class GFG{
 
    // Driver Code
    public static void Main(String[] args)
    {
 
        // Given array
        int[] arr = {6, 10, 5, 0};
 
        // Print the array elements
        for (int i = 0; i < 4; i++)
        {
            Console.Write(arr[i] + " ");
        }
    }
}
 
// This code is contributed by Rajput-Ji

chevron_right


Output: 

6 10 5 0




 

Program 2:
Below is an illustration of a 2D array:



C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate 1D array
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
    // A 2D array with 3 rows and
    // 2 columns
    int x[3][2] = { { 0, 1 }, { 2, 3 }, { 4, 5 } };
 
    // Print each array element value
    // Traverse row
    for (int i = 0; i < 3; i++) {
 
        // Traverse column
        for (int j = 0; j < 2; j++) {
 
            // Print element
            cout << "Element at x[" << i
                 << "][" << j
                 << "]: ";
            cout << x[i][j] << endl;
        }
    }
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to illustrate 1D array
import java.util.*;
class GFG{
 
// Driver Code
public static void main(String[] args)
{
    // A 2D array with 3 rows and
    // 2 columns
    int x[][] = { { 0, 1 }, { 2, 3 }, { 4, 5 } };
 
    // Print each array element value
    // Traverse row
    for (int i = 0; i < 3; i++)
    {
 
        // Traverse column
        for (int j = 0; j < 2; j++)
        {
 
            // Print element
            System.out.print("Element at x[" +  i +
                             "][" +  j + "]: ");
            System.out.print(x[i][j] + "\n");
        }
    }
}
}
 
// This code is contributed by Princi Singh

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to illustrate 1D array
 
# Driver Code
if __name__ == '__main__':
   
    # A 2D array with 3 rows and
    # 2 columns
    x = [[0, 1], [2, 3], [4, 5]];
 
    # Preach array element value
    # Traverse row
    for i in range(3):
 
        # Traverse column
        for j in range(2):
            # Prelement
            print("Element at x[" , i ,
                  "][" , j , "]: ", end = "");
            print(x[i][j]);
 
# This code is contributed by sapnasingh4991

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate 1D array
using System;
class GFG{
 
// Driver Code
public static void Main(String[] args)
{
    // A 2D array with 3 rows and
    // 2 columns
    int [,]x = { { 0, 1 }, { 2, 3 }, { 4, 5 } };
 
    // Print each array element value
    // Traverse row
    for (int i = 0; i < 3; i++)
    {
 
        // Traverse column
        for (int j = 0; j < 2; j++)
        {
 
            // Print element
            Console.Write("Element at x[" +  i +
                              "," +  j + "]: ");
            Console.Write(x[i,j] + "\n");
        }
    }
}
}
 
// This code is contributed by Princi Singh

chevron_right


 
 

Output: 

Element at x[0][0]: 0
Element at x[0][1]: 1
Element at x[1][0]: 2
Element at x[1][1]: 3
Element at x[2][0]: 4
Element at x[2][1]: 5




 

Map:

A map is an associative container that stores elements in a mapped fashion. Each element has a key value and a mapped value. No two mapped values can have equal key values.
The diagrammatic representation of Map is given below:
 

 Program 1:
Below is an illustration of a map: 

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate Map
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
    // Empty map container
    map<int, int> gquiz1;
 
    // Insert elements in Map
    gquiz1.insert(pair<int, int>(1, 40));
    gquiz1.insert(pair<int, int>(2, 30));
    gquiz1.insert(pair<int, int>(3, 60));
 
    // Iterator to iterate Map
    map<int, int>::iterator itr;
 
    cout << "\nThe map gquiz1 is : \n";
    cout << "\tKEY\tELEMENT\n";
 
    // Print map gquiz1
    for (itr = gquiz1.begin();
         itr != gquiz1.end(); ++itr) {
        cout << '\t' << itr->first
             << '\t' << itr->second
             << '\n';
    }
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to illustrate Map
import java.util.*;
class GFG{
 
// Driver Code
public static void main(String[] args)
{
    // Empty map container
    HashMap<Integer,
            Integer> gquiz1 = new HashMap<Integer,
                                          Integer>();
 
    // Insert elements in Map
    gquiz1.put(1, 40);
    gquiz1.put(2, 30);
    gquiz1.put(3, 60);
 
    // Iterator to iterate Map
    Iterator<Map.Entry<Integer,
                       Integer>> itr = gquiz1.entrySet().
                                              iterator();
 
    System.out.print("\nThe map gquiz1 is : \n");
    System.out.print("KEY\tELEMENT\n");
 
    // Print map gquiz1
    while(itr.hasNext())
    {
        Map.Entry<Integer,
                  Integer> entry = itr.next();
        System.out.print('\t' + entry.getKey()
                         + "\t" + entry.getValue()+ "\n");
    }
}
}
 
// This code is contributed by shikhasingrajput

chevron_right


Output: 

The map gquiz1 is : 
    KEY    ELEMENT
    1    40
    2    30
    3    60




 

Program 2:
Below is an illustration of an unordered map:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate Map
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
    // Declaring umap of <string, int>
    // type key will be of string and
    // mapped value will be of doubl
    unordered_map<string, int> umap;
 
    // Insert values by using [] operator
    umap["GeeksforGeeks"] = 10;
    umap["Practice"] = 20;
    umap["Contribute"] = 30;
 
    // Traversing an unordered map
    // and print the key-value pairs
    for (auto x : umap)
        cout << x.first << " "
             << x.second << endl;
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to illustrate Map
import java.util.*;
 
class GFG{
 
// Driver Code
public static void main(String[] args)
{
     
    // Declaring umap of <String, int>
    // type key will be of String and
    // mapped value will be of doubl
    HashMap<String,
            Integer> umap = new HashMap<>();
 
    // Insert values by using [] operator
    umap.put("GeeksforGeeks", 10);
    umap.put("Practice", 20);
    umap.put("Contribute", 30);
 
    // Traversing an unordered map
    // and print the key-value pairs
    for(Map.Entry<String,
                  Integer> x : umap.entrySet())
        System.out.print(x.getKey() + " " +
                         x.getValue() + "\n");
}
}
 
// This code is contributed by amal kumar choubey

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate Map
using System;
using System.Collections.Generic;
class GFG{
 
    // Driver Code
    public static void Main(String[] args)
    {
 
        // Declaring umap of <String, int>
        // type key will be of String and
        // mapped value will be of doubl
        Dictionary<String, int> umap = new Dictionary<String,
                                                      int>();
 
        // Insert values by using [] operator
          umap.Add("Contribute", 30);
        umap.Add("GeeksforGeeks", 10);
        umap.Add("Practice", 20);       
 
        // Traversing an unordered map
        // and print the key-value pairs
        foreach(KeyValuePair<String, int> x in umap)
            Console.Write(x.Key + " " + x.Value + "\n");
    }
}
 
// This code is contributed by Rajput-Ji

chevron_right


Output: 

Contribute 30
GeeksforGeeks 10
Practice 20




 

Program 3:
Below is an illustration of a multimap:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate Multimap
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
    // Empty multimap container
    multimap<int, int> gquiz1;
 
    // Insert elements
    gquiz1.insert(pair<int, int>(1, 40));
    gquiz1.insert(pair<int, int>(2, 30));
 
    // Iterator
    multimap<int, int>::iterator itr;
 
    cout << "\nThe multimap gquiz1 is : \n";
    cout << "\tKEY\tELEMENT\n";
 
    // Print multimap gquiz1
    for (itr = gquiz1.begin();
         itr != gquiz1.end(); ++itr) {
 
        cout << '\t' << itr->first
             << '\t' << itr->second
             << '\n';
    }
    return 0;
}

chevron_right


Output: 

The multimap gquiz1 is : 
    KEY    ELEMENT
    1    40
    2    30




 

Program 4:
Below is an illustration of an unordered multimap:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate
// unordered multimap
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
    // Empty initialization
    unordered_multimap<string, int> umm1;
 
    // Initialization by intializer list
    unordered_multimap<string, int> umm2(
        { { "apple", 1 },
          { "ball", 2 },
          { "apple", 10 },
          { "cat", 7 },
          { "dog", 9 },
          { "cat", 6 },
          { "apple", 1 } });
 
    // Traversing an unordered_multimap
    // and print the elements stored
    for (auto x : umm2) {
        cout << x.first << " "
             << x.second << endl;
    }
    return 0;
}

chevron_right


Output: 

dog 9
cat 6
cat 7
ball 2
apple 1
apple 10
apple 1




 

Difference between Array and Map

Array Map
An Array is a collection of elements of the same data type. The map is a hashed structure of key and value pairs.
The indices of the list are integers starting from 0. The keys of the Map can be of any data type.
The elements are accessed via indices. The elements are accessed via key-values.
The order of the elements entered is maintained. There is no guarantee for maintaining order.
The array can be 1D, 2D or multidimensional Maps can be multimap, Unordered Multimap, Unordered map, etc
Array’s size must be specified during the array declaration. The map’s size is dynamic.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.