按创建日期排序自定义对象的Arraylist

kai*_*uki 0 java sorting datetime arraylist custom-object

我有一个自定义对象,其结构是

public String name;
public int type;
public String createdOn;
Run Code Online (Sandbox Code Playgroud)

createdOn 是日期,其格式是: 2011-12-16T23:27:27+0000

我已经存储了多个这种类型的对象,ArrayList现在我想根据创建日期和时间对它们进行排序.

我尝试过使用Collections.sort(....),但没有合适的结果.

kai*_*uki 6

在得到答案后做了一些研发,我解决了排序的问题,这里是按日期排序数组列表的代码.

Collections.sort(arrlst,new Comparator<T>() {

                    public int compare(T lhs, T rhs) {

                        try {
                            SimpleDateFormat dateFormatlhs = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
                            Date convertedDatelhs = dateFormatlhs.parse(lhs.feedCreatedTime);
                            Calendar calendarlhs = Calendar.getInstance();
                            calendarlhs.setTime(convertedDatelhs);

                            SimpleDateFormat dateFormatrhs = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
                            Date convertedDaterhs = dateFormatrhs.parse(rhs.feedCreatedTime);
                            Calendar calendarrhs = Calendar.getInstance();
                            calendarrhs.setTime(convertedDaterhs);

                            if(calendarlhs.getTimeInMillis() > calendarrhs.getTimeInMillis())
                            {   


                                return -1;
                            }
                            else
                            {


                                return 1;

                            }
                        } catch (ParseException e) {

                            e.printStackTrace();
                        }


                        return 0;
                    }
                });
Run Code Online (Sandbox Code Playgroud)