Learnerslesson
   JAVA   
  SPRING  
  SPRINGBOOT  
 HIBERNATE 
  HADOOP  
   HIVE   
   ALGORITHMS   
   PYTHON   
   GO   
   KOTLIN   
   C#   
   RUBY   
   C++   




GO - INSERT IN MAP


How to insert a new Item in a Map?


Let us say, we have a Map that contains,

Pune, Is a City
John, Is a Name
Go, Is a Language

As 'Key' and 'Value' pair.


Now, let us say, we want to insert a new entry,

Rose, Is a Flower

Let us see in the below example.


Example :



package main
import "fmt"
	
func main() {
	
	x := map[string]string {
		"Pune" : "Is a City", 
		"John": "Is a Name", 
		"Go": "Is a Language"}
			
	x["Rose"] = "Is a Flower"	
		
	for i,j := range x {
		fmt.Println("The value for the key ",i," is ",j)
	}				 	
}


Output :



 The value for the key Rose is Is a Flower
 The value for the key Pune is Is a City
 The value for the key John is Is a Name
 The value for the key Go is Is a Language

So, in the above code we have created a 'Map' using braces '{}' and 'Key' and 'Value' pairs.


x := map[string]string {
	"Pune" : "Is a City", 
	"John": "Is a Name", 
	"Go": "Is a Language"}

And initialised to the variable 'x'.


java_Collections

Now, we are supposed to add a new entry to the 'Map'. Where the 'Key' would be 'Rose' and the Value 'Is a Flower'.


So, we have used the below way to add it.


x["Rose"] = "Is a Flower"

java_Collections

And the entry is added to the 'Map'.


java_Collections

And we get the below output,


Output :



 The value for the key Rose is Is a Flower
 The value for the key Pune is Is a City
 The value for the key John is Is a Name
 The value for the key Go is Is a Language

Duplicate Keys are not allowed in Map


Let us say, we have a Map that contains,

Pune, Is a City
John, Is a Name
Go, Is a Language

As 'Key' and 'Value' pair.


Now, let us say, we want to insert a new entry,

John, Is an English Name

Where 'John' is the 'Key' and 'Is an English Name' is its corresponding 'Value'.


Let us see in the below example.


Example :



package main
import "fmt"
	
func main() {
	
	x := map[string]string {
		"Pune" : "Is a City", 
		"John": "Is a Name", 
		"Go": "Is a Language"}
			
	x["John"] = "Is an English Name"
		
	for i,j := range x {
		fmt.Println("The value for the key ",i," is ",j)
	}				 	
}


Output :



 The value for the key Pune is Is a City
 The value for the key John is Is an English Name
 The value for the key Go is Is a Language

So, for the 'Key', 'John' the initial value was 'Is a Name'.


x := map[string]string {
	"Pune" : "Is a City", 
	"John": "Is a Name", 
	"Go": "Is a Language"}

And we wanted to add a new entry with the 'Key' as 'John' and the 'Value' as 'Is an English Name'.


x["John"] = "Is an English Name"

But if we see the output.



Output :



 The value for the key Pune is Is a City
 The value for the key John is Is an English Name
 The value for the key Go is Is a Language

We can see the 'Key', 'John' is updated with the 'Value', 'Is an English Name'.


That's because duplicate 'Keys' are not allowed in Map. The corresponding value for that 'Key' will get updated with the new 'Value'.


Note : Just remember, only duplicate 'Keys' are not allowed in a 'Map'. However, you can have duplicate 'Values'.