hash类型数据的遍历

原创 2013年12月04日 16:40:44
package com;

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

/**
 * hash数据类型的遍历
 */
public class Test2 {

	Map<String, String> hm = new HashMap<String, String>();
	/**
	 * 初始化hm对象
	 */
	public void initMap(){
		hm.put("1", "lily");
		hm.put("2", "lucy");
		hm.put("3", "lilei");
		hm.put("4", "josn");
	}
	
	/**
	 * 第一种hash数据类型遍历。
	 * 通过hashmap对象的keySet()方法获取该hash对象key值得set集合,
	 * 在对该key值集合进行遍历获取到对应的key值,在通过key值获取key对应的value
	 */
	public void itera1(){
		System.out.println("第一种hash数据类型遍历");
		Iterator<String> iter;
		iter = hm.keySet().iterator();
		while(iter.hasNext()){
			String st = iter.next();
			System.out.print(hm.get(st)+"  ");
		}
		System.out.println();
	}
	
	/**
	 * 第二种hash数据类型遍历。
	 * 使用entrySet方法来获取map集合的Set<Entry<String,String>>对象。
	 * 核心思想:将map集合的形式转换为线性集合的形式,接着通过Iterator对象来获取线性集合中的每一个map元素
	 * @param args
	 */
	public void itera2(){
		System.out.println("第二种hash数据类型遍历");
		Iterator<Entry<String, String>> iterator = hm.entrySet().iterator();
		//entrySet,方法一
		while(iterator.hasNext()){
			Map.Entry<String, String> entry = (Entry<String,String>)iterator.next();
			System.out.print("key="+entry.getKey()+"===value="+entry.getValue()+"  ");
		}
		System.out.println();
		//entrySet,方法二
		for(Map.Entry<String, String> m :hm.entrySet()){
			System.out.print("key="+m.getKey()+"===value="+m.getValue()+"  ");
		}
		System.out.println();
	}
	
	/**
	 * 第三种hash数据类型遍历。
	 * 利用枚举类型来存储每一个map集合,和方法二相似 。
	 * 该遍历方法的对象由HashMap变为了Hashtable,所以要将迭代器Iterator对象换为Enumeration枚举对象
	 * @param args
	 */
	public void itera3(){
		System.out.println("第三种hash数据类型遍历");
		Hashtable<String, String> ht = new Hashtable<String, String>();
		ht.put("1", "lily");
		ht.put("2", "lucy");
		ht.put("3", "lilei");
		ht.put("4", "josn");
		Enumeration<String> enu = ht.elements();
		while(enu.hasMoreElements()){
			System.out.print(enu.nextElement()+"  ");
		}
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Test2 test = new Test2();
		test.initMap();
		test.itera1();
		test.itera2();
		test.itera3();
		
		
	}

}



                    

相关文章推荐

java中如何遍历实体类的属性和数据类型以及属性值

package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.Invocation...

java遍历实体类的属性和数据类型以及属性值

和同学由于项目中要用到poi

****ife 递归实现深度克隆(内含JS数据类型判断,对象遍历)****

*ife 递归实现深度克隆(内含JS数据类型判断,对象遍历)*今天在做2015ife的题时,感觉收获很多,对于js基本类型有了新的认识。把在研究过程中所得记录下来! 题目是: // 使用递归来实...

Vue.js之遍历输出JavaScript的常见数据类型(v-for)

1、JavaScript数据类型在Vue.js中的遍历输出。以便于在html页面上方便的显示数据的类型。 2、简单的遍历输出代码       2.1 JavaScript的代码 window....

java中如何遍历实体类的属性和数据类型以及属性值

1

Play Framework常用标签list,set,如何遍历list、map类型数据

最近一段时间的项目都是在Play这个框架上进行开发的,挺强大的,但不足之处也挺多的。今天分享下play中强大的标签,遍历list,map类型的数据的用法。 遍历单纯的list数据,例如:List...
  • zwkb24
  • zwkb24
  • 2013年06月09日 17:20
  • 1591

php操作redis中的hash和zset类型数据的方法

composer require predis/predis composer -vvv update --------------------------------------------...

4、hash数据类型操作

redis中hash数据类型操作
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hash类型数据的遍历
举报原因:
原因补充:

(最多只允许输入30个字)