package
org.learn.collection.map.hmap;
import
java.util.HashMap;
import
java.util.Iterator;
import
java.util.Map;
import
java.util.Map.Entry;
import
java.util.Set;
import
java.util.TreeMap;
public
class
DemoHashMap {
public
static
void
main(String[] args) {
Map<String, String> mapSportsPersonality =
new
HashMap<>();
mapSportsPersonality.put(
"Tennis"
,
"Federer"
);
mapSportsPersonality.put(
"Cricket"
,
"Bradman"
);
mapSportsPersonality.put(
"Basketball"
,
"Jordan"
);
mapSportsPersonality.put(
"Golf"
,
"Woods"
);
mapSportsPersonality.put(
"Boxer"
,
"Ali"
);
System.out.println(
"1. Demo of remove methods: "
);
demoRemoveMethod(mapSportsPersonality);
System.out.println(
"\n2. Demo of put methods: "
);
demoPutMethod(mapSportsPersonality);
System.out.println(
"\n3. Sort elements of HashMap: "
);
demoSortMethod(mapSportsPersonality);
System.out.println(
"\n4. Iterate through HashMap: "
);
demoIterateMethod(mapSportsPersonality);
System.out.println(
"\n6. Demo of get method of HashMap: "
);
System.out.println(
"Element with key Golf: "
+ mapSportsPersonality.get(
"Golf"
));
System.out.println(
"Element with key Tennis: "
+ mapSportsPersonality.get(
"Tennis"
));
System.out.println(
"\n7. Demo of contains method of HashMap: "
);
System.out.println(
"Check HashMap contains Boxer: "
+ mapSportsPersonality.containsKey(
"Boxer"
));
System.out.println(
"Check HashMap contains soccer: "
+ mapSportsPersonality.containsKey(
"soccer"
));
System.out.println(
"\n8.Demo of clear method of HashMap: "
);
mapSportsPersonality.clear();
System.out.println(
"Clear HashMap: "
+ mapSportsPersonality);
}
private
static
void
demoRemoveMethod(Map<String, String> mapSportsPersonality) {
System.out.println(
"1.1. Orignal hashmap:\n"
+ mapSportsPersonality);
mapSportsPersonality.remove(
"Cricket"
);
System.out.println(
"1.2. Removed Cricket from map : \n"
+ mapSportsPersonality);
mapSportsPersonality.remove(
"Boxer"
,
"Ali"
);
System.out.println(
"1.3. Removed entry from map with Key=Boxer and Value=Ali :\n "
+ mapSportsPersonality);
Set<Entry<String, String>> entrySet = mapSportsPersonality.entrySet();
Iterator<Entry<String, String>> iterator = entrySet.iterator();
while
(iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
if
(entry.getKey().equals(
"Basketball"
)) {
iterator.remove();
}
else
if
(entry.getKey().equals(
"Golf"
)) {
iterator.remove();
}
}
System.out.println(
"1.4. Removed Basketball,Golf during iteration:\n "
+ mapSportsPersonality);
}
private
static
void
demoPutMethod(Map<String, String> mapSportsPersonality) {
System.out.println(
"2.1. Orignal HashMap:\n"
+ mapSportsPersonality);
mapSportsPersonality.put(
"Tennis"
,
"Federer"
);
mapSportsPersonality.put(
"Cricket"
,
"Bradman"
);
System.out.println(
"2.2. Added Tennis & Cricket using put: \n"
+ mapSportsPersonality);
Map<String, String> newSportsMap =
new
HashMap<>();
newSportsMap.put(
"Golf"
,
"Woods"
);
newSportsMap.put(
"Boxer"
,
"Ali"
);
mapSportsPersonality.putAll(newSportsMap);
System.out.println(
"2.3. Added another map using putAll to map:\n"
+ mapSportsPersonality);
mapSportsPersonality.putIfAbsent(
"Baseball"
,
"Trout"
);
mapSportsPersonality.putIfAbsent(
"Baseball"
,
"Kershaw"
);
System.out.println(
"2.4. Added Baseball using putIfAbsent to map:\n"
+ mapSportsPersonality);
}
private
static
void
demoSortMethod(Map<String, String> mapSportsPersonality) {
System.out.println(
"Orignal HashMap:"
+ mapSportsPersonality);
System.out.println(
"\n3.1. Sort HashMap by ascending key: "
);
TreeMap<String, String> mapSorted =
new
TreeMap<>(mapSportsPersonality);
mapSorted.forEach((key, value) -> {
System.out.println(key +
", "
+ value);
});
System.out.println(
"\n3.2. Sort HashMap by descending key: "
);
mapSorted.descendingMap().forEach((key, value) -> {
System.out.println(key +
", "
+ value);
});
}
private
static
void
demoIterateMethod(Map<String, String> mapSportsPersonality) {
System.out.println(
"4.1. Iterate using forEach:"
);
mapSportsPersonality.forEach((key, value) -> {
System.out.println(
"Game:"
+ key +
", Player:"
+ value);
});
System.out.println(
"\n4.2. Iterate using iterator:"
);
Set<Entry<String, String>> entrySet = mapSportsPersonality.entrySet();
Iterator<Entry<String, String>> iterator = entrySet.iterator();
while
(iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
System.out.println(
"Game:"
+ entry.getKey() +
", Player:"
+ entry.getValue());
}
}
}