2017-05-29 70 views
-1

我有一個時間戳列表(長),我必須根據時間或列表添加排序列表。如何對時間戳列表進行排序?

我已經嘗試過,但其現在的工作。

Collections.sort(vehicles, new Comparator<VehicleListModel.Vehicle>() { 
       @Override 
       public int compare(VehicleListModel.Vehicle o1, VehicleListModel.Vehicle o2) { 
        try { 
         DateFormat format = new SimpleDateFormat("MM-dd-yyyy hh:mm:ss"); 
         return format.parse(o1.getCreated()).compareTo(format.parse(o2.getCreated())); 
        } catch (Exception e) { 
         e.printStackTrace(); 
         return 0; 
        } 
       } 
      }); 
      customerListAdapter.notifyDataSetChanged(); 

它不工作,然後我試圖 this但這Date(timeStamp)已被棄用

請幫助

+2

***我已經嘗試過,但現在正在努力工作***這不足以幫助我們! **如何**不起作用? –

+0

這是什麼字符串:getCreated()? –

+0

getCreated()將返回時間戳添加到服務現在我必須根據時間戳進行排序 –

回答

1

如果getCreated返回Date那麼你可以使用compareTo和排序基於這種比較列表,如:

List<VehicleListModel.Vehicle> list = new ArrayList<>(); 
list.sort((e1, e2) -> e1.getCreated().compareTo(e2.getCreated())); 

更新

如果getCreated回報long值,那麼你可以框,並使用LongcompareTo方法,如:

List<ChainCode> list = new ArrayList<ChainCode>(); 
list.sort((e1, e2) -> new Long(e1.getCreated()).compareTo(new Long(e2.getCreated()))); 
+0

先生,\t getCreated()行返回時間戳加入到服務現在我必須根據排序時間戳 –

+0

@KRoy是指'java.sql.Timestamp'還是隻是一個'long'值? –

+0

超值! @Darshan –

0

使用長時間戳值soring

 Collections.sort(vehicles, new Comparator<VehicleListModel.Vehicle>() { 
        @Override 
        public int compare(VehicleListModel.Vehicle o1, VehicleListModel.Vehicle o2) { 
         try { 
          DateFormat format = new SimpleDateFormat("MM-dd-yyyy hh:mm:ss"); 
return Long.valueOf(format.parse(o1.getCreated()).getTime()).compareTo(format.parse(o2.getCreated()).getTime()); 

         } catch (Exception e) { 
          e.printStackTrace(); 
          return 0; 
         } 
        } 
       }); 
       customerListAdapter.notifyDataSetChanged(); 
+0

.compareTo()表示無法解析方法 –

+0

日期可比,所以這應該不會有太大的改變。 –

+0

getCreated()行返回時間戳加入到服務現在我有基於時間戳排序長 –

相關問題