Map 的遍历

一、Map的遍历	
	Map<String, String> map = new HashMap<String, String>();
		for (int i = 0; i < 10; i++) {
		map.put("sundy"+i, "love"+(999-i));
	}
	//第一种
	System.out.println("----------第一种-----------");
	for(String str : map.keySet()){
		System.out.println(str+" : "+map.get(str));
	}
	System.out.println("----------第二种-----------");
	//第二种
	Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
	while (iterator.hasNext()) {
	Entry<String, String> next = iterator.next();
		System.out.println(next.getKey()+" : "+next.getValue());
	}
	System.out.println("----------第三种-----------");
	//第三种 <推挤使用>
	for(Map.Entry<String, String> entry : map.entrySet()){
		System.out.println(entry.getKey()+" : "+entry.getValue());
	}
	System.out.println("----------第四种-----------");
	//第四种
	for (String value : map.values()) {
		System.out.println(value);
	}
二、通过反射获取成员变量名和值
	/**
	 * 通过反射获取interface中String成员变量的值
	 * @param clsName 类名
	 * @param modified 修饰符
	 */
	public static ArrayList<String> getDeclaredFieldsValues(String clsName,String modified) throws ClassNotFoundException,IllegalAccessException {
		ArrayList<String> list = new ArrayList<String>();
		Class<?> cls = Class.forName(clsName);
		Field[] fields = cls.getDeclaredFields();
		for (int i = 0; i < fields.length; i++) {
			String genericType = fields[i].getGenericType().toString();
			String name = fields[i].getName();
			String value = fields[i].get(name).toString();
			if(genericType.contains(modified)) list.add(value);
		}
		return list;
	}
	/**
	 * 通过反射获取interface中String成员变量的key及value
	 * @param clsName 类名
	 * @param modified 修饰符
	 */
	public static Map<String, String> getDeclaredFieldsAndValues(String clsName,String modified) throws ClassNotFoundException,IllegalAccessException {
		Map<String, String> map = new HashMap<String, String>();
		Class<?> cls = Class.forName(clsName);
		Field[] fields = cls.getDeclaredFields();
		for (int i = 0; i < fields.length; i++) {
			String genericType = fields[i].getGenericType().toString();
			String name = fields[i].getName();
			String value = fields[i].get(name).toString();
			if(genericType.contains(modified)) map.put(name, value);
		}
		return map;
	}




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值