map的基本使用

package cn.chn.chen.dev.mapp;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

/**
 * <p>
 * TestMap类主要用于-Map的基本使用.
 * </p>
 * <p>
 * 创建时间 2011-4-20 - 下午09:08:44
 * </p>
 * <blockquote>
 * <h4>历史修改记录</h4>
 * <ul>
 * <li>修改人 修改时间 修改描述
 * </ul>
 * </blockquote>
 * <p>
 * copyright ×××× 2010-2011, all rights reserved.
 * </p>
 * 
 * @author IT山人
 * @since 1.0
 * @version 1.0
 */
public class TestMap {
	
	/**
	 * <p>
	 * whileMapByEntrySet方法-采用while通过entrySet遍历map集合.
	 * </p>
	 * <p>
	 * 创建人 IT山人 创建时间 2011-4-20 - 下午10:33:39
	 * </p>
	 * <blockquote>
	 * <h4>历史修改记录</h4>
	 * <ul>
	 * <li>修改人 修改时间 修改描述
	 * </ul>
	 * </blockquote>
	 * @param map
	 */
	public void whileMapByEntrySet(Map<Integer, String> map) {
		Iterator<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();
			System.out.println("key:" + key + "\tvalue:" + value);
		}
	}
	
	/**
	 * <p>
	 * whileMapByKeySet方法-采用while通过keySet遍历map集合.
	 * </p>
	 * <p>
	 * 创建人 IT山人 创建时间 2011-4-20 - 下午10:34:39
	 * </p>
	 * <blockquote>
	 * <h4>历史修改记录</h4>
	 * <ul>
	 * <li>修改人 修改时间 修改描述
	 * </ul>
	 * </blockquote>
	 * @param map
	 */
	public void whileMapByKeySet(Map<Integer, String> map) {
		Iterator<Integer> iterator = map.keySet().iterator();
		while (iterator.hasNext()) {
			Integer key = iterator.next();
			String value = map.get(key);
			System.out.println("key:" + key + "\tvalue:" + value);
		}
	}
	
	/**
	 * <p>
	 * forMapByKeySet方法-采用for通过keySet遍历map集合.
	 * </p>
	 * <p>
	 * 创建人 IT山人 创建时间 2011-4-20 - 下午10:35:58
	 * </p>
	 * <blockquote>
	 * <h4>历史修改记录</h4>
	 * <ul>
	 * <li>修改人 修改时间 修改描述
	 * </ul>
	 * </blockquote>
	 * @param map
	 */
	public void forMapByKeySet(Map<Integer, String> map) {
		for (Integer key : map.keySet()) {
			String value = map.get(key);
			System.out.println("key:" + key + "\tvalue:" + value);
		}
	}
	
	/**
	 * <p>
	 * forMapByWhileSet方法-采用for通过entrySet遍历map集合.
	 * </p>
	 * <p>
	 * 创建人 IT山人 创建时间 2011-4-20 - 下午10:36:24
	 * </p>
	 * <blockquote>
	 * <h4>历史修改记录</h4>
	 * <ul>
	 * <li>修改人 修改时间 修改描述
	 * </ul>
	 * </blockquote>
	 * @param map
	 */
	public void forMapByWhileSet(Map<Integer, String> map) {
		for (Map.Entry<Integer, String> entry : map.entrySet()) {
			Integer key = entry.getKey();
			String value = entry.getValue();
			System.out.println("key:" + key + "\tvalue:" + value);
		}
	}
	
	/**
	 * <p>
	 * hashMapAscSortByValue方法-按值升序排列.
	 * </p>
	 * <p>
	 * 创建人 IT山人 创建时间 2011-4-20 - 下午10:36:40
	 * </p>
	 * <blockquote>
	 * <h4>历史修改记录</h4>
	 * <ul>
	 * <li>修改人 修改时间 修改描述
	 * </ul>
	 * </blockquote>
	 * @param map
	 * @return
	 */
	public List<Map.Entry<Integer, String>> hashMapAscSortByValue(Map<Integer, String> map) {
		List<Map.Entry<Integer, String>> mappingList = null;
		mappingList = new ArrayList<Entry<Integer,String>>(map.entrySet());
		Collections.sort(mappingList, new Comparator<Map.Entry<Integer, String>>() {
			@Override
			public int compare(Entry<Integer, String> o1,
					Entry<Integer, String> o2) {
				return o1.getValue().compareTo(o2.getValue());
			}
		});
		return mappingList;
	}
	
	/**
	 * <p>
	 * hashMapAscSortByKey方法-按key升序排列.
	 * </p>
	 * <p>
	 * 创建人 IT山人 创建时间 2011-4-20 - 下午10:37:16
	 * </p>
	 * <blockquote>
	 * <h4>历史修改记录</h4>
	 * <ul>
	 * <li>修改人 修改时间 修改描述
	 * </ul>
	 * </blockquote>
	 * @param map
	 * @return
	 */
	public List<Map.Entry<Integer, String>> hashMapAscSortByKey(Map<Integer, String> map) {
		List<Map.Entry<Integer, String>> mappingList = null;
		mappingList = new ArrayList<Entry<Integer,String>>(map.entrySet());
		Collections.sort(mappingList, new Comparator<Map.Entry<Integer, String>>() {
			@Override
			public int compare(Entry<Integer, String> o1,
					Entry<Integer, String> o2) {
				return o1.getKey().compareTo(o2.getKey());
			}
		});
		return mappingList;
	}
	
	/**
	 * <p>
	 * main方法-.
	 * </p>
	 * <p>
	 * 创建人 IT山人 创建时间 2011-4-20 - 下午09:08:56
	 * </p>
	 * <blockquote>
	 * <h4>历史修改记录</h4>
	 * <ul>
	 * <li>修改人 修改时间 修改描述
	 * </ul>
	 * </blockquote>
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TestMap t = new TestMap();
		t.hashMapAscSortByValue(NUM_MAP);
	}
}

你可能感兴趣的:(java,map,笔记,常用代码)