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());  
        }  
    }  
  
}  

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM