java的集合list map
来源:互联网 发布:数据库大数据量处理 编辑:程序博客网 时间:2024/04/27 22:04
对于list map的细节总结一下:
map排序的三种方法:
public class TestMapSort {public static void main(String[] args) {/*** * map 排序 * 直接用treemap实例化map 自动对key进行排序 */test0();/*** * map 排序 * 使用treemap对map实例化,并且在构造函数中传入一个Comparator, 根据key进行排序 */test1();/*** * map排序 * 根据value进行排序 */test2();}public static void test0() {Map<String, Object> map = initdata2();printMap(map);}public static void test1() {Map<String, Object> map = initdata();Map<String, Object> map2 = sortByKey(map);printMap(map2);}public static void test2() {Map<String, Object> map = initdata3();Map<String, Object> map2 = sortByValue(map);printMap(map2);}public static Map<String, Object> initdata() {Map<String, Object> map = new HashMap<String, Object>();map.put("key1", 1);map.put("key2", 2);map.put("key5", 5);map.put("key4", 4);map.put("key3", 3);return map;}public static Map<String, Object> initdata2() {Map<String, Object> map = new TreeMap<String, Object>();map.put("key1", 1);map.put("key2", 2);map.put("key5", 5);map.put("key4", 4);map.put("key3", 3);return map;}public static Map<String, Object> initdata3() {Map<String, Object> map = new HashMap<String, Object>();map.put("key1", 1);map.put("key2", 2);map.put("key5", 5);map.put("key4", 4);map.put("key3", 3);return map;}public static Map<String, Object> sortByKey(Map<String, Object> map) {if (map == null || map.isEmpty()) {return null;}Map<String, Object> map3 = new TreeMap<String, Object>(new MapKeyComparator());map3.putAll(map);return map3;}public static Map<String, Object> sortByValue(Map<String, Object> map) {if (map.isEmpty() || map == null) {return null;}List<Map.Entry<String, Object>> listOBject = new ArrayList<Map.Entry<String, Object>>(map.entrySet());Map<String, Object> sortedMap = new LinkedHashMap<String, Object>();Collections.sort(listOBject, new MapValueComparator()); Iterator<Map.Entry<String, Object>> iter = listOBject.iterator(); Map.Entry<String, Object> tmpEntry = null; while (iter.hasNext()) { tmpEntry = iter.next(); sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue()); } return sortedMap;}public static void printMap(Map<String, Object> map) {System.out.println("-----------begin------------------");Iterator<String> iterator = map.keySet().iterator();while (iterator.hasNext()) {String key = iterator.next();// 拿到key的值进行遍历System.out.println("-----key的值:----" + key + "--value:-----" + map.get(key));}System.out.println("-----------end------------------");}/* map通过key进行比较器 */public static class MapKeyComparator implements Comparator<String> {public int compare(String o1, String o2) {// TODO Auto-generated method stubreturn o2.compareTo(o1); // 顺序还是逆序只需o1 o2调换位置就行}}public static class MapValueComparator implements Comparator<Map.Entry<String, Object>>{public int compare(Entry<String, Object> o1, Entry<String, Object> o2) {// TODO Auto-generated method stubint o11 = (Integer)o1.getValue();int o22 = (Integer)o2.getValue();if(o11 < o22){return 1;}else if(o11 == o22){return 0;}else{return -1;}//return (((Integer)o2.getValue())-((Integer)o1.getValue())); 这个方法也可以}}}
对于list的常用几个方法:
参考:http://www.cnblogs.com/lzq198754/p/5780220.html
本文不在陈述。
阅读全文
0 0
- java的集合list map
- JAVA集合的认识[Set,List,Map]
- java 集合list和map的用法
- Java集合的使用:List与Map
- Java中Map集合和List集合的遍历方式
- java集合 set list map
- [java]集合 list set map
- java集合 list set map
- java集合set,list、map
- Java list-set-map集合
- java集合(list,set,map)
- java 集合 List Map Set
- Java基础 list map 集合
- Java集合(list,Set,Map)集合
- list<Map>集合的研究
- Java集合类 List/Set/Map... 的区别和联系
- java 的集合。Collection List Set Map 区别
- java中List 、 Set、Map 集合类的区别
- 互联网巨头
- eclipse build path功能总结
- 工厂模式
- 找到正确的方式才是提升效率的最佳方式
- js实现面向对象的继承和重载
- java的集合list map
- PHP 环境下 发送邮件的问题:方法一:使用phpmailer
- XML
- AlphaGo不是围棋九段高手,而是谷歌的科技作秀
- Centos 7 安装 Redis
- 双向循环链表实践
- Android卫星菜单
- Android 照片墙功能实现
- centos 7服务器环境搭建