我正在开发一个Android应用程序,它可以从至少20个RSS链接中获取数据。但是,我需要显示按pubdate
排序的这些链接的所有数据。
我获取数据并将其存储在数据库中。然后,我从数据库中获取按时间排序的数据。但是,这是无效且耗时的方式,因为它将数据保存在数据库中,然后检索它以显示。
还有另一种方法可以在ArrayList
中存储每个RSS链接,并将20 ArrayList
合并为一个。并且,排序。但是,它也很耗时。
如何有效地对数据进行排序?
答案 0 :(得分:1)
这可能会对你有所帮助。
Collections.sort(myFeedsList, new Comparator<RssItemModel>() {
@Override
public int compare(RssItemModel lhs, RssItemModel rhs) {
SimpleDateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
try {
Date date1 = formatter.parse(rhs.getPubDate());
Date date2 = formatter.parse(lhs.getPubDate());
return date1.compareTo(date2);
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});