LinkedHashMap与TreeMap浅析

来源:互联网 发布:深入理解linux内核pdf 编辑:程序博客网 时间:2024/05/01 15:48
import java.util.LinkedHashMap;import java.util.Map;import java.util.Set;import java.util.TreeMap;/** * OrderMap  对排序map的分析 *   TreeMap 和 LinkedHashMap * * @author littlehow * @time 2016-06-08 11:54 */public class OrderMap {    /**     * 用四个键值对来分析     * @param map     */    public static void putValue(Map<String, String> map) {        map.put("one", "littlehow");        map.put("two", "color wolf");        map.put("three", "green cat");        map.put("four", "yellow dog");    }    public static void printValue(Map<String, String> map) {        Set<String> set = map.keySet();        for(String key : set) {            System.out.println(key + "=" + map.get(key));        }    }    /**     * treemap     * 因为treemap维护的是一个comparator的一群元素,所以在     * 排序的时候运用的是元素之间的compareTo进行排序,     * 而不是以插入顺序进行排序,所以输出与put顺序不一致     */    public static void treeMap() {        Map<String, String> map = new TreeMap<String, String>();        putValue(map);        //输出        printValue(map);        //结果        //four=yellow dog        //one=littlehow        //three=green cat        //two=color wolf    }    /**     * linkedHashMap     * 维护的是一个链表结构,所以排序是以插入顺序进行排序的     */    public static void linkedMap() {        Map<String, String> map = new LinkedHashMap<String, String>();        putValue(map);        //输出        printValue(map);        //结果        //one=littlehow        //two=color wolf        //three=green cat        //four=yellow dog    }    /**     * 调用     * @param args     */    public static void main(String[] args) {        linkedMap();        treeMap();    }

}

//以后有时间可以剖析源码,对结构来进行分析

4 1