HashMap遍历的两种

HashMap遍历输出、

 先导入java语言工具包

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

  调用hashmap方法并添加元素

HashMap<String,String> hashMap=new HashMap<>();
hashMap.put(“赵雷”,“<<成都>>”);
hashMap.put(“房东的猫”,“<<云烟成雨>>”);
hashMap.put(“宋东野”,“<<斑马,斑马>>”);
hashMap.put(“逃跑计划”,“<<夜空中最亮的星>>”);

   方法一: 调用entrySet()方法后再用iterator迭代器遍历输出

Iterator<Map.Entry<String, String>> iterator = hashMap.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, String> next = iterator.next();
System.out.println(next);

   方法二:先取得键后再获取对应键的值

Iterator iterator1 = hashMap.keySet().iterator();
while (iterator1.hasNext()){
String next = iterator1.next();
String s = hashMap.get(next);
System.out.println(next+" "+s);
}

   代码如下:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class HashMapTest {
    public static void main(String[] args) {
        HashMap<String,String> hashMap=new HashMap<>();
        hashMap.put("赵雷","<<成都>>");
        hashMap.put("房东的猫","<<云烟成雨>>");
        hashMap.put("宋东野","<<斑马,斑马>>");
        hashMap.put("逃跑计划","<<夜空中最亮的星>>");
        Iterator<Map.Entry<String, String>> iterator = hashMap.entrySet().iterator();
        while (iterator.hasNext()){
            Map.Entry<String, String> next = iterator.next();
            System.out.println(next);
        }
        //hashMap.keyset方法得到键,再用迭代器遍历后get方法得到值;
        Iterator<String> iterator1 = hashMap.keySet().iterator();
        while (iterator1.hasNext()){
            String next = iterator1.next();
            String s = hashMap.get(next);
            System.out.println(next+" "+s);
        }
    }
}

  遍历结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,遍HashMap有两种常见的方式:使用entrySet()方法遍和使用keySet()方法遍。这两种方式各有优劣,具体哪种更好取决于你的需求和场景。 1. 使用entrySet()方法遍: 这种方式通过获取键值对(Entry)的集合来遍HashMap。优点是可以同时获得键和值,适用于需要同时操作键和值的场景。例如: ```java HashMap<String, Integer> map = new HashMap<>(); // 添加键值对 map.put("A", 1); map.put("B", 2); map.put("C", 3); // 使用entrySet()方法遍 for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); // 进行操作 } ``` 缺点是相比于使用keySet()方法遍会稍微慢一些,因为需要额外获取每个键值对的引用。 2. 使用keySet()方法遍: 这种方式通过获取键的集合来遍HashMap。优点是速度相对较快,适用于只需要操作键的场景。例如: ```java HashMap<String, Integer> map = new HashMap<>(); // 添加键值对 map.put("A", 1); map.put("B", 2); map.put("C", 3); // 使用keySet()方法遍 for (String key : map.keySet()) { Integer value = map.get(key); // 进行操作 } ``` 缺点是如果需要同时操作键和值,则需要通过键再次获取值,相对于使用entrySet()方法遍会多一次获取值的操作。 总之,如果你需要同时操作键和值,则使用entrySet()方法遍更合适;如果只需要操作键,则使用keySet()方法遍更高效。根据具体的需求选择适合的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值