Map中entrySet()和keySet()比较

时间:2022-07-26 19:37:51
keySet是key的集合,Set里面的类型即key的类型
entrySet是 key-value 对的集合,Set里面的类型是Map.Entry

keySet()的速度比entrySet()慢了很多,使用entrySet则必须将map对象转换为Map.Entry,keySet则不需要。也就是keySet方式遍历Map的性能不如entrySet性能好

为了提高性能,以后多考虑用entrySet()方式来进行遍历。对于集合来说keySet是纵向取值,而entrySet是横向取值,keySet要进行两次遍历,一次是遍历得到所有key值的set集合,一次是通过key值进行第二次遍历得到value值。而entrySet只需要一次遍历即可把Map中entrySet()和keySet()比较和value全部取出,从所以entrySet的效率比keySet的效率要高。