【DateStructure】 Charnming usages of Map collection in Java
When learning the usage of map collection in java, I found serveral beneficial methods that was encountered in the daily life. Now I made a summary:
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import java.util.SortedMap;
- import java.util.TreeMap;
- public class MapUtil
- {
- private static final Map<String, String> contents = new HashMap<String, String>();
- @SuppressWarnings("unchecked")
- public static void initMap()
- {
- Map testMap = new HashMap<String, String>();
- testMap.put("Albert", "Shao");
- contents.putAll(testMap);
- }
- /**
- * Four methods to list map.
- * output:
- * Albert:Shao
- Albert:Shao
- Shao
- Albert:Shao
- * @time Jul 18, 2014 11:39:46 AM
- * @return void
- */
- public static void listMap()
- {
- Map<String, String> testMap = new HashMap<String, String>();
- testMap.put("Albert", "Shao");
- for (Map.Entry<String, String> entry : testMap.entrySet())
- {
- System.out.println(entry.getKey() + ":" + entry.getValue());
- }
- for (String key : testMap.keySet())
- {
- System.out.println(key + ":" + testMap.get(key));
- }
- for (String value : testMap.values())
- {
- System.out.println(value);
- }
- Iterator<Map.Entry<String, String>> keyIt = testMap.entrySet()
- .iterator();
- while (keyIt.hasNext())
- {
- Map.Entry<String, String> entry = keyIt.next();
- System.out.println(entry.getKey() + ":" + entry.getValue());
- }
- }
- /**
- * Use the treeMap order by key asc.
- * Watch out: if key is repeated, the latter element will replace the former.
- * output: {Apple=five, Banana=three, Grape=one, Pair=four}
- *
- * @time Jul 18, 2014 11:37:51 AM
- * @return void
- */
- public static void sort()
- {
- SortedMap<String, String> sortMap = new TreeMap<String, String>();
- sortMap.put("Pair", "four");
- sortMap.put("Apple", "two");
- sortMap.put("Grape", "one");
- sortMap.put("Banana", "three");
- sortMap.put("Apple", "five");
- System.out.println(sortMap);
- }
- /**
- * Sort the Map by map.value, then set the result to map.
- * output : [Apple=1, Pair=2, Banana=3, Grape=4]
- *
- * @time Jul 18, 2014 11:36:28 AM
- * @return void
- */
- public static void sortByValue()
- {
- Map<String, Integer> testMap = new HashMap<String, Integer>();
- testMap.put("Pair", 2);
- testMap.put("Apple", 1);
- testMap.put("Grape", 4);
- testMap.put("Banana", 3);
- List<Map.Entry<String, Integer>> entryList = new ArrayList<Map.Entry<String, Integer>>(
- testMap.entrySet());
- Collections.sort(entryList,
- new Comparator<Map.Entry<String, Integer>>()
- {
- public int compare(Map.Entry<String, Integer> c1,
- Map.Entry<String, Integer> c2)
- {
- return (c1.getValue() - c2.getValue());
- }
- });
- System.out.println(entryList);
- }
- /**
- *Sort map by value when value is object.
- * use compareTo method to replace simple '-'
- * output:[Apple=AB, Grape=AF, Pair=BB, Banana=XY]
- *
- * @time Jul 18, 2014 11:48:35 AM
- * @return void
- */
- public static void sortByObject()
- {
- Map<String, String> testMap = new HashMap<String, String>();
- testMap.put("Pair", "BB");
- testMap.put("Apple", "AB");
- testMap.put("Grape", "AF");
- testMap.put("Banana", "XY");
- List<Map.Entry<String, String>> entryList = new ArrayList<Map.Entry<String, String>>(
- testMap.entrySet());
- Collections.sort(entryList,
- new Comparator<Map.Entry<String, String>>()
- {
- public int compare(Map.Entry<String, String> c1,
- Map.Entry<String, String> c2)
- {
- return (c1.getValue().compareTo(c2.getValue()));
- }
- });
- System.out.println(entryList);
- }
- public static void main(String[] args)
- {
- MapUtil.listMap();
- MapUtil.sort();
- MapUtil.sortByValue();
- MapUtil.sortByObject();
- }
- }
If you want to further know about the usage of list methods, you could view my another blogs.
【DateStructure】 Charnming usages of Map collection in Java的更多相关文章
- 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序
如何用javac 和java 编译运行整个Java工程 (转载) http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...
- 【BZOJ1125】[POI2008]Poc hash+map+SBT
[BZOJ1125][POI2008]Poc Description n列火车,每条有l节车厢.每节车厢有一种颜色(用小写字母表示).有m次车厢交换操作.求:对于每列火车,在交换车厢的某个时刻,与其颜 ...
- 【算法】哈希表的诞生(Java)
参考资料 <算法(java)> — — Robert Sedgewick, Kevin Wayne <数据结构> ...
- 【Unity】Unity中C#与Android中Java的互相调用遇到的一些问题
1.有关调用的一些问题: (1).在C#中直接调用java中的代码,无返回值: 在java中: public static void setAge(Context context , int leve ...
- 【dom4j】解析xml为map
dom4j解析xml文件 <?xml version="1.0" encoding="utf-8"?> <workflows> < ...
- 【python】lamda表达式,map
一个很好的博客:http://blog.csdn.net/mathboylinlin/article/details/9413551 博客不让转载,我只摘抄了里面几个例子,更多内容到博客里去看 lam ...
- 【iOS】苹果,百度Map定位使用与总结
iOS中使用较多的3款地图,google地图.百度地图.苹果自带地图(高德).当中苹果自带地图在中国使用的是高德的数据.苹果在iOS 6之后放弃了使用谷歌地图,而改用自家的地图.在国内使用的较多的就是 ...
- 【原创】【Android】揭秘 ART 细节 ---- Garbage collection
背景 Dalvik :http://zh.wikipedia.org/wiki/Dalvik%E8%99%9A%E6%8B%9F%E6%9C%BA ART :http://source.andro ...
- 【384】reduce归纳、map映射、filter筛选 的用法
参考:4. Map, Filter and Reduce — Python Tips 0.1 documentation 参考:Python的functools.reduce用法 Map:映射,对于列 ...
随机推荐
- 给flash文件加超链接[兼容主流浏览器]
<div style="position: relative;"> <a style="width: 640px; height: 90px; posi ...
- Windows Azure 社区新闻综述(#69 版)
欢迎查看最新版本的每周综述,其中包含有关云计算和 WindowsAzure 的社区推动新闻.内容和对话. 以下是过去一周基于您的反馈汇集在一起的内容: 文章.视频和博客文章 · 使用 Azur ...
- Protobuf从安装到配置整理帖 --转
新做的Mini项目计划使用Google的Protobuf来做,关于Protobuf是什么玩意能干什么请自己去看这里:http://code.google.com/p/protobuf/ 这里讲一下安装 ...
- enum flags 枚举Flags标示 位运算符
C#位运算 详见:http://wenku.baidu.com/link?url=4KUNkwuVTm8dwhmPLXeyYytmnDOJnmLG1L2C77kP-rY0On33ksQxwchoTlq ...
- 《UNIX环境高级编程》笔记--文件访问权限和新文件、目录所有权
1.与进程关联的用户ID和组ID 与一个进程关联的ID有一下几个: 实际用户ID和实际组ID标识我们究竟是谁.通常在一个会话间值是不会改变的,但是超级用户进程有方法改变 他们,在以后的进程控制中会进行 ...
- <select>标签后循环加入选项<option>——jquery
if (data.ReplaceDataFields != null) { $.each(data.ReplaceDataFields, function (i, item) { ...
- Matlab定义子函数
上篇博客介绍了在Matlab中自己定义简单函数的方法,本篇博客将介绍定义子函数的方法.本文承接上篇博客的样例,即随机生成一个3行4列的矩阵,矩阵中的元素设定上下限为(low,high).并返回矩阵全部 ...
- web开发 - 从零开始 - 01 - 常见样式
1.width & height 2.background : a.background-color b.background-image:url() c.background-repea ...
- JS原型,Prototype,原型
对于javascript这样一种前端语言,个人觉得,要真正的理解其oop, 就必须要彻底搞清楚javascript的对象,原型链,作用域,闭包,以及this所引用的对象等概念.这些对弄明白了,应该就可 ...
- JSP基础——关于中文乱码问题
乱码问题十分烦人,今天在写一个登陆的demo时,表单中需要提交的中文姓名,如下代码 <form action="success.jsp" name="success ...
