1. HashMap的底層數據結構是什麼? 在JDK1.7中和JDK1.8中有所區別: 在JDK1.7中,由”數組+鏈表“組成,數組是HashMap的主體,鏈表則是主要為了解決哈希衝突而存在的。 在JDK1.8中,有“數組+鏈表+紅黑樹”組成。當鏈表過長,則會嚴重影響HashMap的性能,紅黑樹搜索時間複雜度是O(logn),而鏈表是O(n)。因此,JDK1.8對數據結構做了進一步的優化,引入了