首页 > 编程语言 > 详细

对List<Map<String,Object>> 进行排序

时间:2016-05-17 06:19:57      阅读:261      评论:0      收藏:0      [点我收藏+]
 1 package lltse.base.collectiondemo;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Collections;
 5 import java.util.Comparator;
 6 import java.util.HashMap;
 7 import java.util.List;
 8 import java.util.Map;
 9 import java.util.Random;
10 
11 
12 public class ListDemo {
13 
14     /**
15      * @param args
16      */
17     public static void main(String[] args) {
18 
19         List<Map<String, Object>> list = getPersonList();
20         for(Map<String,Object> map:list)
21         {
22             System.out.println("lng:>>>"+map.get("lng"));
23             System.out.println("distance:>>>"+map.get("distance"));
24         }
25         
26     }
27 
28     public static List<Map<String, Object>> getPersonList() {
29         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
30         Random rd = new Random(100);
31         for (int i = 0; i < 5; i++) {
32             Map<String, Object> map = new HashMap<String, Object>();
33             map.put("lng", "lng" + i);
34             map.put("distance", rd.nextDouble());
35 
36             list.add(map);
37         }
38 
39         Collections.sort(list, new Comparator<Map<String, Object>>() {
40             public int compare(Map<String, Object> o1, Map<String, Object> o2) 
41             {
42 
43                 // o1,o2是list中的Map,可以在其内取得值,按其排序,此例为升序,s1和s2是排序字段值
44                 Double s1 = (Double) o1.get("distance");
45                 Double s2 = (Double) o2.get("distance");
46                 if (s1 > s2) 
47                 {
48                     return 1;
49                 }
50                 else 
51                 {
52                     return -1;
53                 }
54             }
55         });
56 
57         return list;
58 
59     }
60 }

运行结果如下:

 

 1 lng:>>>lng1
 2 distance:>>>0.19497605734770518
 3 lng:>>>lng4
 4 distance:>>>0.6186076060240648
 5 lng:>>>lng2
 6 distance:>>>0.6671595726539502
 7 lng:>>>lng0
 8 distance:>>>0.7220096548596434
 9 lng:>>>lng3
10 distance:>>>0.7784408674101491

 

对List<Map<String,Object>> 进行排序

原文:http://www.cnblogs.com/lltse/p/5500150.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!