
Java中HashMap和TreeMap的区别深入理解
1个回答
展开全部
其实就是存储方式不一样。hashMap是利用hashcode定位的。TreeMap,是根据数据大小在树上定位的。由于有数据大小的说法,所以TreeMap的key必须有比较的方法。
从获取数据来说,hashMap由于使用hashcode值定义,等于一次就能定位成功。而treemap则需要从根开始定位。因此hashMap会比较快。除非发生了大量的hashcode冲突,那么才可能出现在速度上不如treemap。
但是treemap在放置数据的同时把数据进行了排序,这样就可以保证每次遍历数据时都会有相同的顺序。并在大规模数据时有较好的表现。
从获取数据来说,hashMap由于使用hashcode值定义,等于一次就能定位成功。而treemap则需要从根开始定位。因此hashMap会比较快。除非发生了大量的hashcode冲突,那么才可能出现在速度上不如treemap。
但是treemap在放置数据的同时把数据进行了排序,这样就可以保证每次遍历数据时都会有相同的顺序。并在大规模数据时有较好的表现。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询