Map
Custom type as a key when we must override the hashcode and equals methods, so that he can be automatically generated. Otherwise, not as a key, it will explode.
map face questions
https://www.cnblogs.com/wangxilei/p/9272508.html
https://blog.csdn.net/u014514383/article/details/88796955