按日期以MM / DD / YYYY格式对arraylist进行排序

Str*_*ing 2 java sorting collections date

我的日期字段(String)格式(MM / DD / YYYY)来自服务呼叫。我的要求是按日期对列表进行排序,并按最新日期显示记录。

我尝试了下面的代码。但是我无法显示最新日期的记录。

public class Test {

        public static void main(String[] args) {
            List<Opportunity> oppList = new ArrayList<Opportunity>();
            Opportunity opp1 = new Opportunity();
            opp1.setName("opp1");
            opp1.setExpires("11/07/2016");
            Opportunity opp2 = new Opportunity();
            opp2.setName("opp2");
            opp2.setExpires("11/08/2016");
            oppList.add(opp1);
            oppList.add(opp2);
            List<Opportunity> opplist=sortOpportunitiesByDate(oppList);
            /*Collections.sort(oppList);*/
            for(int i=0; i<opplist.size(); i++){
                System.out.println("Opportunity Data>>>"+opplist.get(i).getExpires());

            }

        }
        private static List<Opportunity> sortOpportunitiesByDate(List<Opportunity> opportunities) {
              Collections.sort(opportunities, new Comparator<Opportunity>() {
              public int compare(Opportunity o1, Opportunity o2) {
                  DateFormat format = new SimpleDateFormat("MM/DD/YYYY",Locale.US);

                    Date date1 = null;
                    Date date2 = null;
                    try {
                        date1=format.parse(o1.getExpires());
                        date2=format.parse(o2.getExpires());

                    } catch (ParseException e) {
                        e.printStackTrace();
                    }

                  return date1.compareTo(date2);
              }
            });

         return opportunities;
        }


    }
Run Code Online (Sandbox Code Playgroud)

实际输出:

Opportunity Date>>>11/07/2016
Opportunity Date>>>11/08/2016
Run Code Online (Sandbox Code Playgroud)

预期产量:

Opportunity Date>>>11/08/2016
Opportunity Date>>>11/07/2016
Run Code Online (Sandbox Code Playgroud)

Vie*_*iet 5

因为DateFormat 更改MM/DD/YYYY为“ YYYY”格式MM/DD/yyyy会起作用