hashset和arraylist的问题 望大神解惑

hashset为什么比arraylist的查询速度快啊 ~~

ArrayList插入数据慢查询速度是最快的
我做过测试
ArrayLIst查询所有和查询单个的时候都要比HashSet快

因为ArrayLIst采用的是动态数组,查询时是直接定位到内存地址取
而HashSet采用的HashMap把值作为HashMap的键,查询时使用的是游标遍历

你可以具体去了解一下这两者的数据结构,然后自己应该可以分析出来了

Array底层是数组,查询操作需要遍历整个数组查询,时间复杂度是n*n/2,而HashSet是直接根据hash映射关系直接取值的,所以要快。