We have learned enough theory on Collections. We also saw a working demo code for ArrayList. In last post we saw why Map interface does not implement Collection framework and in the coming posts we will see how to iterate over the data in Map. But for now lets see a demo code of Map.
Java Code demonstrating Map usage
Code :
package testCodes; import java.util.HashMap; import java.util.Map; public class MapDemo { public static void main(String args[]) { Map<String, String> persononalData = new HashMap<String, String>(); // Populating Map with data persononalData.put("Name", "John"); persononalData.put("Country", "USA"); persononalData.put("Gender", "Male"); persononalData.put("Age", "18"); // Printing Map System.out.println("Map is " + persononalData); // removing data from Map persononalData.remove("Gender"); // Printing Map System.out.println("Map is " + persononalData); if (Integer.valueOf(persononalData.get("Age")) < 18) { System.out.println("You are a minor"); } else { System.out.println("You are a Major"); } } }
Output :
Understanding the Code :
We create a Map named persononalData to store personal information of some person named John. Note the generics used. Both key-value are of type String. At a later point of time if you try to put another data type(say int) then that is not allowed. You must always decide on the data structure before you start writing you actual code.In this case I am going to store everything as String.
We then start populating data. We add Name, Country, Age and Gender.Note the function is put(key,value) unlike add(element) in Collections.We then print the Map. Note when we say System.out.println(someMap) internally toString() method is invoked on the corresponding object and is printed to standard output.
Next we remove an element using .remove(key) method.Again we print out the Map to see the difference. Check out the output screen shot provided above.
Note : All keys in the Map must be Unique i.e you cannot store two different values for the same key. Lets say you do someMap.put("Name","John") and then again you say someMap.put("Name","Sam") then Sam will overwrite John and when you extract data by get("Name") you will get Sam and not John.
Next we extract age of the person using .get("Age") method. Note this will return you a String. But for comparison purpose you need an integer and hence we convert String to an int using Integer.ValueOf(SomeString) method.In our case age is 18 and hence age<18 will evaluate to be false and else part will get executed. Hence the output shown.
Hope basic operations in Map are clear. In next post we will see how to iterate over Map to manipulate it's data.
No comments:
Post a Comment