Java中的map集合顺序如何与添加顺序一样

一般使用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());  
        }  
    }  
  
}  

原文地址:https://www.cnblogs.com/lvchengda/p/12620939.html