its valueif has no such entrythen return null keys()return an iterable collection containing all the keys stored in (so keys(iterator(returns an iterator of keysvalues()return an iterable collection containing all the values as sociated with keys stored in (so values(iterator(re turns an iterator of valuesentries()return an iterable collection containing all the key-value entries in (so entries(iterator(returns an iterator of entrieswhen operations get( )put( ,vand remove(kare performed on map that has no entry with key equal to kwe use the convention of returning null special value such as this is known as sentinel (see also section the disadvantage with using null as such sentinel is that this choice can create ambiguity should we every want to have an entry (knullwith value null in the map another choiceof coursewould be to throw an exception when someone requests key that is not in our map this would probably not be an appropriate use of an exceptionhoweversince it is normal to ask for something that might not be in our map moreoverthrowing and catching an exception is typically slower than test against sentinelhenceusing sentinel is more efficient (andin this caseconceptually more appropriateso we use null as sentinel for value associated with missing key example in the followingwe show the effect of series of operations on an initially empty map storing entries with integer keys and single-character values operation output map isempty(true ph put( ,anull {( , )put( ,