map的基本使用

001 	package cn.chn.chen.dev.mapp;
002 	 
003 	import java.util.ArrayList;
004 	import java.util.Collections;
005 	import java.util.Comparator;
006 	import java.util.HashMap;
007 	import java.util.Iterator;
008 	import java.util.List;
009 	import java.util.Map;
010 	import java.util.Map.Entry;
011 	 
012 	/**
013 	 * <p>
014 	 * TestMap类主要用于-Map的基本使用.
015 	 * </p>
016 	 * <p>
017 	 * 创建时间 2011-4-20 - 下午09:08:44
018 	 * </p>
019 	 * <blockquote>
020 	 * <h4>历史修改记录</h4>
021 	 * <ul>
022 	 * <li>修改人 修改时间 修改描述
023 	 * </ul>
024 	 * </blockquote>
025 	 * <p>
026 	 * copyright ×××× 2010-2011, all rights reserved.
027 	 * </p>
028 	 *
029 	 * @author IT山人
030 	 * @since 1.0
031 	 * @version 1.0
032 	 */
033 	public class TestMap {
034 	     
035 	    /**
036 	     * <p>
037 	     * whileMapByEntrySet方法-采用while通过entrySet遍历map集合.
038 	     * </p>
039 	     * <p>
040 	     * 创建人 IT山人 创建时间 2011-4-20 - 下午10:33:39
041 	     * </p>
042 	     * <blockquote>
043 	     * <h4>历史修改记录</h4>
044 	     * <ul>
045 	     * <li>修改人 修改时间 修改描述
046 	     * </ul>
047 	     * </blockquote>
048 	     * @param map
049 	     */
050 	    public void whileMapByEntrySet(Map<Integer, String> map) {
051 	        Iterator<Entry<Integer, String>> iterator = map.entrySet().iterator();
052 	        while (iterator.hasNext()) {
053 	            Map.Entry<Integer, String> entry = iterator.next();
054 	            Integer key = entry.getKey();
055 	            String value = entry.getValue();
056 	            System.out.println("key:" + key + "\tvalue:" + value);
057 	        }
058 	    }
059 	     
060 	    /**
061 	     * <p>
062 	     * whileMapByKeySet方法-采用while通过keySet遍历map集合.
063 	     * </p>
064 	     * <p>
065 	     * 创建人 IT山人 创建时间 2011-4-20 - 下午10:34:39
066 	     * </p>
067 	     * <blockquote>
068 	     * <h4>历史修改记录</h4>
069 	     * <ul>
070 	     * <li>修改人 修改时间 修改描述
071 	     * </ul>
072 	     * </blockquote>
073 	     * @param map
074 	     */
075 	    public void whileMapByKeySet(Map<Integer, String> map) {
076 	        Iterator<Integer> iterator = map.keySet().iterator();
077 	        while (iterator.hasNext()) {
078 	            Integer key = iterator.next();
079 	            String value = map.get(key);
080 	            System.out.println("key:" + key + "\tvalue:" + value);
081 	        }
082 	    }
083 	     
084 	    /**
085 	     * <p>
086 	     * forMapByKeySet方法-采用for通过keySet遍历map集合.
087 	     * </p>
088 	     * <p>
089 	     * 创建人 IT山人 创建时间 2011-4-20 - 下午10:35:58
090 	     * </p>
091 	     * <blockquote>
092 	     * <h4>历史修改记录</h4>
093 	     * <ul>
094 	     * <li>修改人 修改时间 修改描述
095 	     * </ul>
096 	     * </blockquote>
097 	     * @param map
098 	     */
099 	    public void forMapByKeySet(Map<Integer, String> map) {
100 	        for (Integer key : map.keySet()) {
101 	            String value = map.get(key);
102 	            System.out.println("key:" + key + "\tvalue:" + value);
103 	        }
104 	    }
105 	     
106 	    /**
107 	     * <p>
108 	     * forMapByWhileSet方法-采用for通过entrySet遍历map集合.
109 	     * </p>
110 	     * <p>
111 	     * 创建人 IT山人 创建时间 2011-4-20 - 下午10:36:24
112 	     * </p>
113 	     * <blockquote>
114 	     * <h4>历史修改记录</h4>
115 	     * <ul>
116 	     * <li>修改人 修改时间 修改描述
117 	     * </ul>
118 	     * </blockquote>
119 	     * @param map
120 	     */
121 	    public void forMapByWhileSet(Map<Integer, String> map) {
122 	        for (Map.Entry<Integer, String> entry : map.entrySet()) {
123 	            Integer key = entry.getKey();
124 	            String value = entry.getValue();
125 	            System.out.println("key:" + key + "\tvalue:" + value);
126 	        }
127 	    }
128 	     
129 	    /**
130 	     * <p>
131 	     * hashMapAscSortByValue方法-按值升序排列.
132 	     * </p>
133 	     * <p>
134 	     * 创建人 IT山人 创建时间 2011-4-20 - 下午10:36:40
135 	     * </p>
136 	     * <blockquote>
137 	     * <h4>历史修改记录</h4>
138 	     * <ul>
139 	     * <li>修改人 修改时间 修改描述
140 	     * </ul>
141 	     * </blockquote>
142 	     * @param map
143 	     * @return
144 	     */
145 	    public List<Map.Entry<Integer, String>> hashMapAscSortByValue(Map<Integer, String> map) {
146 	        List<Map.Entry<Integer, String>> mappingList = null;
147 	        mappingList = new ArrayList<Entry<Integer,String>>(map.entrySet());
148 	        Collections.sort(mappingList, new Comparator<Map.Entry<Integer, String>>() {
149 	            @Override
150 	            public int compare(Entry<Integer, String> o1,
151 	                    Entry<Integer, String> o2) {
152 	                return o1.getValue().compareTo(o2.getValue());
153 	            }
154 	        });
155 	        return mappingList;
156 	    }
157 	     
158 	    /**
159 	     * <p>
160 	     * hashMapAscSortByKey方法-按key升序排列.
161 	     * </p>
162 	     * <p>
163 	     * 创建人 IT山人 创建时间 2011-4-20 - 下午10:37:16
164 	     * </p>
165 	     * <blockquote>
166 	     * <h4>历史修改记录</h4>
167 	     * <ul>
168 	     * <li>修改人 修改时间 修改描述
169 	     * </ul>
170 	     * </blockquote>
171 	     * @param map
172 	     * @return
173 	     */
174 	    public List<Map.Entry<Integer, String>> hashMapAscSortByKey(Map<Integer, String> map) {
175 	        List<Map.Entry<Integer, String>> mappingList = null;
176 	        mappingList = new ArrayList<Entry<Integer,String>>(map.entrySet());
177 	        Collections.sort(mappingList, new Comparator<Map.Entry<Integer, String>>() {
178 	            @Override
179 	            public int compare(Entry<Integer, String> o1,
180 	                    Entry<Integer, String> o2) {
181 	                return o1.getKey().compareTo(o2.getKey());
182 	            }
183 	        });
184 	        return mappingList;
185 	    }
186 	     
187 	    /**
188 	     * <p>
189 	     * main方法-.
190 	     * </p>
191 	     * <p>
192 	     * 创建人 IT山人 创建时间 2011-4-20 - 下午09:08:56
193 	     * </p>
194 	     * <blockquote>
195 	     * <h4>历史修改记录</h4>
196 	     * <ul>
197 	     * <li>修改人 修改时间 修改描述
198 	     * </ul>
199 	     * </blockquote>
200 	     * @param args
201 	     */
202 	    public static void main(String[] args) {
203 	        // TODO Auto-generated method stub
204 	        TestMap t = new TestMap();
205 	        t.hashMapAscSortByValue(NUM_MAP);
206 	    }
207 	}

你可能感兴趣的:(map的基本使用)