java - 无法使用android studio在java中对日期进行排序
问题描述
我想根据他们的最新日期对我的数组进行排序。我正在从文本文件中检索日期作为字符串。我的文本文件如下:
title:High Five
date:02-04-2019
title:Roly Poly
date:04-07-2019
title:Barney
date:11-01-2016
我想按如下方式显示它们:
title:Roly Poly
date:04-07-2019
title:High Five
date:02-04-2019
title:Barney
date:11-01-2016
我使用了以下方法:
public class mydateCompare implements Comparator<Cartoon>
{
@Override
public int compare(Cartoon o1, Cartoon o2) {
SimpleDateFormat dateFormat=new SimpleDateFormat("dd-mm-yyyy");
String dateinString = o1.getDate();
String dateinS = o2.getDate();
try {
Date date = dateFormat.parse(dateinString);
Date dt = dateFormat.parse(dateinS);
} catch (ParseException e) {
e.printStackTrace();
}
return dateinString.compareTo(dateinS);
}
}
我上述方法的输出是:
title:High Five
date:02-04-2019
title:Roly Poly
date:04-07-2019
title:Barney
date:11-01-2016
你们能告诉我我需要做什么才能得到我想要的输出吗?谢谢你。
解决方案
复制下面的类,
internal class CartoonsSorter : Comparator<Cartoon> {
private val dateFormat = SimpleDateFormat("dd-MM-yyyy", Locale.getDefault())
override fun compare(o1: Cartoon, o2: Cartoon): Int {
var firstObjDate = Date()
var secondObjDate = Date()
try {
firstObjDate = dateFormat.parse(o1.date) ?: Date()
secondObjDate = dateFormat.parse(o2.date) ?: Date()
} catch (e: ParseException) {
e.printStackTrace()
}
return secondObjDate.compareTo(firstObjDate)
}
}
按以下方式使用它,
Collections.sort(yourArray, CartoonsSorter())
上述输出:
排序前:
[
{
"date": "02-04-2019",
"title": "High Five"
},
{
"date": "04-07-2019",
"title": "Roly Poly"
},
{
"date": "11-01-2016",
"title": "Barney"
}
]
排序后:
[
{
"date": "04-07-2019",
"title": "Roly Poly"
},
{
"date": "02-04-2019",
"title": "High Five"
},
{
"date": "11-01-2016",
"title": "Barney"
}
]
推荐阅读
- react-native - 从 App Store 中删除支持英语的语言 (React Native / Expo)
- google-analytics - Docusaurus,使用 Google Analytics 跟踪操作
- android - 如何为调试和发布模式设置 Firebase Crashlytics
- powershell - 如何在 Active Directory 中提取 OU 中的所有用户
- angularjs - 如何在按钮单击时调用`p5.js`绘制方法
- flutter - 如何从flutter包`async_redux`模拟ReduxAction中的调度方法
- ios - 方向被另一个(iOS)强制横向后如何恢复 UIViewController 的正确方向?
- python - 我的 python 递归函数不会返回并超过最大递归深度
- sql - 插入空值
- ios - 反应原生闪屏得到'React/RCTBridgeModule.h'文件未找到