一般使用map用的最多的就是hashmap,但是hashmap里面的元素是不按添加順序的,那么除了使用hashmap外,還有什么map接口的實現類可以用呢?
這里有2個,treeMap和linkedHashMap,但是,要達到我們的要求:按添加順序保存元素的,就只有LinkedHashMap。
下面看運行的代碼。
package com.lxk.collectionTest; import com.google.common.collect.Maps; import java.util.Map; /** * 測試Map是否有序的區別 * <p> * Created by lxk on 2017/5/24 */ public class OrderedMapTest { public static void main(String[] args) { Map<String, Integer> hashMap = Maps.newHashMap(); Map<String, Integer> treeMap = Maps.newTreeMap(); Map<String, Integer> linkedHashMap = Maps.newLinkedHashMap(); System.out.println("--------------test hashMap"); testMap(hashMap); System.out.println("--------------test treeMap"); testMap(treeMap); System.out.println("--------------test linkedHashMap"); testMap(linkedHashMap); } private static void testMap(Map<String, Integer> map) { map.put("asd", 1); map.put("2das", 2); map.put("3das", 3); map.put("4das", 4); for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() + ":" + entry.getValue()); } } }