This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Agree with David Newton; you haven't actually told us what the problem is.
Your class has an overridden toString method which appears to work. You ought to declare it as . . . classMapTest<K, V> . . . but your class seems not to fulfill the test of "a MapTest IS-A HashMap". And as Vijitha Kumara said, the toString method will be wrong whenever one of your friends has a birthday!
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com