一般使用map用的最多的就是hashmap,但是hashmap里面的元素是不按添加順序的,那么除了使用hashmap外,還有什么map接口的實(shí)現(xiàn)類可以用呢? 這里有2個(gè),treeMap和linkedHashMap,但是,要達(dá)到我們的要求:按添加順序保存元素的,就只有LinkedHashMap。 下面看運(yùn)行的代碼。 - package com.lxk.collectionTest;
-
- import com.google.common.collect.Maps;
-
- import java.util.Map;
-
-
-
-
-
-
- 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());
- }
- }
-
- }
然后是運(yùn)行結(jié)果的圖。
可以看到,要是單單的說有序,那么就hashmap是無序的,但是,要說到添加順序,那就只有l(wèi)inkedhashmap啦。
我寫完文章,給自己點(diǎn)個(gè)贊,不過分吧, 不過分,那我可就點(diǎn)啦啊。 我先點(diǎn)為敬,你們隨意。大家隨意。不要客氣。。。
|