Map迭代方式,Map迭代,Map循环

本文详细介绍了Java HashMap的两种迭代方式:使用keySet和entrySet进行迭代,并通过示例展示了如何遍历键值对。

Map迭代方式,Map迭代,Map循环

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年7月2日 09:19:11 星期四

http://fanshuyao.iteye.com/

 

public static void main(String[] args) {

		HashMap map = new HashMap();
		map.put("a", "is a.");
		map.put("b", "is b.");
		map.put("c", "is c.");
		map.put("d", "is d.");
		map.put("a", "is aaaaaaaaaaaaaaaaaaaaa.");//键不变,a的值改变
		
		//map迭代方式一
		Set set = map.keySet();
		for(Iterator iterator = set.iterator();iterator.hasNext();){
			String key = (String) iterator.next();
			String value = (String) map.get(key);
			System.out.println("key="+key+", value="+value);
		}
		
		System.out.println("--------------------------------------");
		
		//map迭代方式二
		Set s = map.entrySet();
		for(Iterator it = s.iterator();it.hasNext();){
			Map.Entry en = (Map.Entry) it.next();
			System.out.println("key="+en.getKey()+", value="+en.getValue());
		}
		
	}

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年7月2日 09:19:11 星期四

http://fanshuyao.iteye.com/

C++ 中,`std::map` 是一种关联容器,其元素以键值对(`key-value`)的形式存储。从 C++11 开始,引入了基于范围的 `for` 循环(range-based for loop),结合 `auto` 关键字可以更简洁地遍历容器中的元素。 对于 `std::map` 来说,使用增强的 `for` 循环时,每个元素是一个 `std::pair` 类型的对象,其中包含两个成员:`.first` 表示键(key),`.second` 表示值(value)。通过 `auto&` 可以自动推导出元素类型,并避免不必要的拷贝操作[^3]。 以下是一个使用基于范围的 `for` 循环和 `auto` 遍历 `std::map` 的完整示例: ```cpp #include <iostream> #include <map> int main() { std::map<int, std::string> myMap; myMap[1] = "Apple"; myMap[2] = "Banana"; myMap[3] = "Orange"; // 使用 auto 和基于范围的 for 循环遍历 map for (const auto& pair : myMap) { std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl; } return 0; } ``` 此外,还可以直接使用迭代器来遍历 `std::map`。虽然传统的写法较为繁琐,但结合 `auto` 后代码变得更加简洁且可读性强[^4]: ```cpp #include <iostream> #include <map> int main() { std::map<int, std::string> m; m[1] = "xiaoMing"; // 使用 auto 简化迭代器声明 for (auto it = m.begin(); it != m.end(); ++it) { std::cout << "[" << it->first << "]=" << it->second << std::endl; } return 0; } ``` 这两种方式都适用于现代 C++ 编程风格,推荐优先使用基于范围的 `for` 循环,因为它语法简洁、语义清晰,同时也能避免常见的迭代器错误。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值