java 中map的优点_java 中map遍历的四种方法和优缺点

/** * 在for-each循环中使用entries来遍历 * 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用 * 如果遍历的是一个空的map,会报数组越界 ,java5引入,不兼容老版本 * @param map */ public void methodOne(Map map){ for (Map.Entry entry : map.entrySet()) {    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } } /** * 在for-each循环中遍历keys或values。 * 如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet * 比方法一效率高10% */ public  void methodTwo(Mapmap){ //遍历key for (Integer key : map.keySet()) {    System.out.println("Key = " + key); } //遍历map中的值 for (Integer value : map.values()) {    System.out.println("Value = " + value); } } /** * 使用iterator遍历,分为加泛型遍历,不加泛型遍历 * 优点 兼容老版本,遍历时可以调用remove删除,for_each遍历不能删除,遍历速度和for_each一样 */ public void methodThreeY(Mapmap){ Iterator> entries = map.entrySet().iterator(); while (entries.hasNext()) {    Map.Entry entry = entries.next();    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } } /** * 没有泛型的iterator遍历 * @param map */ public void methodThreeN(Map map){ Iterator entries = map.entrySet().iterator(); while (entries.hasNext()) {    Map.Entry entry = (Map.Entry) entries.next();    Integer key = (Integer)entry.getKey();    Integer value = (Integer)entry.getValue();    System.out.println("Key = " + key + ", Value = " + value); } } /** * 通过键值遍历(效率低) * 代码干净,方法一的替代 */ public void methodFour(Mapmap){ for(Integer key : map.keySet()) {    Integer value = map.get(key);    System.out.println("Key = " + key + ", Value = " + value); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值