+ I like how you provide sample output in the comment. This makes it easy to understand what the toString method is accomplishing ( @christopherluo )