Java中List去重和Stream去重的示例分析
我们知道,也必须背过这样一个准则equals返回true的时候,hashcode的返回值必须相同.这个在背的时候略微有些逻辑混乱,但只要了解了HashMap的实现方式就不会觉得拗口了。事实上,HashSet是由HashMap来实现的(没有看过源码的时候曾经一直直观的以为HashMap的key是HashSet来实现的,恰恰相反)。那么,由此也可以看出HashSet的去重复就是根据HashMap实现的,而HashMap的实现又完全依赖于hashcode和equals方法。那么如何根据这两个做到的呢?