HashMap集合的遍历方式

HashMap属于Map类,是双链集合,此实现中的键元素和值元素一一映射,关于HashMap此实现提供所有可选的映射操作,并且允许键和值为null,但是它不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的遍历方式如下:
1.新建一个HashMap集合

package test1;

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

public class MapDemo2 {
public static void main(String[] args) {
	Map<String,String> map = new HashMap<String,String>();
	map.put("三国演义","吕布");
	map.put("水浒传","林冲");
	map.put("西游记","悟空");
	map.put("红楼梦", "宝玉");

2.集合的遍历

遍历方式1:
1). Set keySet(){}------------>获取所有键的集合
2). 通过增强for遍历键的集合
3). 通过键获取值v get(k key)
k,v分别指键和值的类型

Set<String> set = map.keySet();
for(String s:set) {
	String x = (String) map.get(s);
	System.out.println("键是:"+s+"-----"+"值是:"+x);
}

遍历方式2:
1).Set<Map.entry<k,v>> entrySet(){}--------->获取当前集合中所有键值对对象 2).遍历所有键值对对象
3).通过k getKet(),v getValue();获取键值对的键和值
k,v分别指键和值的类型

	System.out.println("---------------------");
		//**第一种**
	Set<Map.Entry<String, String>> set1 = map.entrySet();
	for(Entry<String, String> s1 : set1) {
		Map.Entry entry = (HashMap.Entry) s1;
		String key = (String)entry.getKey();
		String value = (String)entry.getValue();
		System.out.println("键是:"+key+"-------"+"值是:"+value);
		}
	System.out.println("---------------------");
	//**第二种**
	for(Entry<String, String> s1 : set1) {
		String key = s1.getKey();
		String value = s1.getValue();
		System.out.println("键是:"+key+"-------"+"值是:"+value);
		}
	System.out.println("---------------------");
	//**第三种**
	Iterator ite  = map.entrySet().iterator();
	while(ite.hasNext()) {
		Map.Entry entry = (HashMap.Entry)ite.next();
		Object key = entry.getKey();
		Object value = entry.getValue();
		System.out.println("键是:"+key+"-------"+"值是:"+value);
	}
	System.out.println("---------------------");
	//**第四种(最简单,推荐使用)**
 	for(Map.Entry<String,String> en:map.entrySet()) {
 		System.out.println("键:"+en.getKey()+"--------"+"值:"+en.getValue());
 	}
 }
 }

运行结果如下:
运行结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值