java对集合中时间进⾏排序
1 Collections.sort(list, new Comparator<String>() {
2    DateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
3    @Override
4public int compare(String o1, String o2) {
5try {
6return f.parse(o1)pareTo(f.parse(o2));
7        } catch (ParseException e) {
8throw new IllegalArgumentException(e);
9        }
10    }
11 });
在Collections.sort(list, new Comparator<String>()  中的list只需要将时间的集合放⼊。时间的格式可⾃定义。现在的是对时间进⾏正序排序,如果要倒序则将return中的o1和02交换位置。
项⽬中完成实例:
1public static String disposeFrequencePath(String path) {
2        String[] str = path.split(",");
3//定义两个集合,⼀个是带时间类型,⼀个不带
4        ArrayList<String> list = new ArrayList<String>();
5        ArrayList<String> list1 = new ArrayList<String>();
6for (int i = 0; i < str.length; i++) {
7            String one = str[i].split("#")[0];
java集合排序怎么实现
8            String two = str[i].split("#")[1];
9if(two.equals("1")) {
10                one = yesToday+" "+one;
11            }else if(two.equals("2")){
12                one = temToday+" "+one;
13            }else {
14                one = Today+" "+one;
15            }
16            list.add(one);
17            list1.add(one+"#"+two);
18        }
19//对不带时间类型的集合进⾏排序
20        Collections.sort(list, new Comparator<String>() {
21            DateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
22            @Override
23public int compare(String o1, String o2) {
24try {
25return f.parse(o1)pareTo(f.parse(o2));
26                } catch (ParseException e) {
27throw new IllegalArgumentException(e);
28                }
29            }
30        });
31        String now = "";
32//⽤已经排序好的时间对带时间类型的进⾏对⽐,获取排序好并且带时间类型
33for (int i = 0; i < list.size(); i++) {
34            String aa = (i);
35            String jj = "";
36for (int j = 0; j < list1.size(); j++) {
37                String fir = (j).split("#")[0];
38if(aa.equals(fir)) {
39                    jj = (j).split("#")[1];
40break;
41                }
42            }
43            now += aa.split(" ")[1]+"#"+jj+",";
44        }
45return now;
46    }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。