LinkedHashMap与TreeMap浅析
2016-06-08 12:43
330 查看
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(); }}
//以后有时间可以剖析源码,对结构来进行分析
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树