遍历HashMap的几种方式总结

1.使用Iterator遍历HashMap

HashMap<String, String> map = new HashMap<>();
// 添加元素
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");

// 遍历HashMap
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry<String, String> entry = iterator.next();
    String key = entry.getKey();
    String value = entry.getValue();
    // 打印key和value
    System.out.println(key + " : " + value);
}

2.使用forEach遍历HashMap

HashMap<String, String> map = new HashMap<>();
// 添加元素
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");

// 遍历HashMap
map.forEach((key, value) -> {
    // 打印key和value
    System.out.println(key + " : " + value);
});


3.使用for-each循环遍历HashMap的keySet或values

HashMap<String, String> map = new HashMap<>();
// 添加元素
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");

// 遍历HashMap的keySet
for (String key : map.keySet()) {
    String value = map.get(key);
    // 打印key和value
    System.out.println(key + " : " + value);
}

// 遍历HashMap的values
for (String value : map.values()) {
    // 打印value
    System.out.println(value);
}

4.使用Stream API遍历HashMap

HashMap<String, String> map = new HashMap<>();
// 添加元素
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");

// 遍历HashMap
map.entrySet().stream().forEach(entry -> {
    String key = entry.getKey();
    String value = entry.getValue();
    // 打印key和value
    System.out.println(key + " : " + value);
});

5.使用键-值对数组遍历HashMap

HashMap<String, String> map = new HashMap<>();
// 添加元素
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");

// 获取键-值对数组
Object[] entries = map.entrySet().toArray();
for (Object entry : entries) {
    Map.Entry<String, String> e = (Map.Entry<String, String>) entry;
    String key = e.getKey();
    String value = e.getValue();
    // 打印key和value
    System.out.println(key + " : " + value);
}

在Java开发中,使用迭代器(Iterator)遍历HashMap的方式是最常见的。因为迭代器不需要将整个HashMap加载到内存中,它只会在需要时才加载下一个元素,因此可以避免内存溢出的问题。此外,迭代器提供了一些方便的方法,例如remove()方法可以删除当前迭代的元素。

除此之外,使用for-each循环遍历HashMap的keySet或values也是一个常见的方式。这种方式的优点是简单易懂,代码量少,适用于只需要访问键或值的场景。

其他的方式虽然也可以使用,但是在实际开发中相对较少使用。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HashMap遍历方式有多种,其中最常见的有以下几种: 1. 使用迭代器(Iterator)进行遍历: ```java HashMap<Integer, String> map = new HashMap<>(); // 添加元素到map Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<Integer, String> entry = iterator.next(); Integer key = entry.getKey(); String value = entry.getValue(); // 处理key和value } ``` 2. 使用for-each循环遍历: ```java HashMap<Integer, String> map = new HashMap<>(); // 添加元素到map for (Map.Entry<Integer, String> entry : map.entrySet()) { Integer key = entry.getKey(); String value = entry.getValue(); // 处理key和value } ``` 3. 遍历所有的键(key): ```java HashMap<Integer, String> map = new HashMap<>(); // 添加元素到map for (Integer key : map.keySet()) { String value = map.get(key); // 处理key和value } ``` 4. 遍历所有的值(value): ```java HashMap<Integer, String> map = new HashMap<>(); // 添加元素到map for (String value : map.values()) { // 处理value } ``` 根据性能方面来说,使用迭代器进行遍历是最高效的方式,因为它在遍历过程中不需要创建额外的对象。而使用for-each循环遍历遍历所有的键(key)以及遍历所有的值(value)都需要创建额外的迭代器对象,可能会稍微降低性能。但是在实际使用中,这些差异一般是可以忽略的,可以根据代码的可读性和简洁性选择合适的遍历方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值