java – 按开始和结束时间过滤带有日期的ArrayList
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 按开始和结束时间过滤带有日期的ArrayList,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2042字,纯文字阅读大概需要3分钟。
内容图文
我正在实现一个简单的ListView,其中数据源是一个ArrayList,其中包含Name,Start和End日期.在iOS中,我会使用一个简单的NSPredicate来过滤数组,但在Android和Java中,我对我应该使用的内容感到困惑.欢迎任何建议.
解决方法:
您可以使用Date.before和Date.after方法.这些允许您过滤日期列表(对于特定范围(例如1月)的日期):
一个.使用带有开始和结束日期的Java 8过滤器.
湾使用Java循环/迭代器来检查开始和结束日期.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.stream.Collectors;
public class FilterStartAndEndDate {
private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
private Collection<Date> dateList = null;
private Date start = null;
private Date end = null;
private FilterStartAndEndDate() throws ParseException {
dateList = new ArrayList<Date>() {{
add(sdf.parse("01/01/2016"));
add(sdf.parse("02/01/2016"));
add(sdf.parse("03/02/2016"));
add(sdf.parse("04/01/2016"));
add(sdf.parse("05/01/2016"));
}};
start = sdf.parse("31/12/2015");
end = sdf.parse("01/02/2016");
}
/**
* Filter dates with Lambda
*
* @throws ParseException
*/
private void getDatesBetweenStartAndFinishWithFilter() throws ParseException {
dateList.stream()
.filter(dates -> dates.after(start) && dates.before(end))
.collect(Collectors.toList())
.forEach(januaryDate->System.out.println(januaryDate));
}
/**
* Filter dates with Iterator
*
* @throws ParseException
*/
private void getDatesBetweenStartAndFinish() throws ParseException {
Collection<Date> datesInJanuaryList = new ArrayList<>();
for (Date eachDate : dateList) {
if (eachDate.after(start) && eachDate.before(end)) {
datesInJanuaryList.add(eachDate);
}
}
for (Date eachDate : datesInJanuaryList) {
System.out.println(eachDate);
}
}
public static void main(String[] args) throws Exception {
FilterStartAndEndDate datesInJanuary = new FilterStartAndEndDate();
datesInJanuary.getDatesBetweenStartAndFinish();
datesInJanuary.getDatesBetweenStartAndFinishWithFilter();
}
}
示例代码过滤器的日期是1月份,使用Lambda过滤器和Java迭代器.两者都使用方法之前和之后的Date.
内容总结
以上是互联网集市为您收集整理的java – 按开始和结束时间过滤带有日期的ArrayList全部内容,希望文章能够帮你解决java – 按开始和结束时间过滤带有日期的ArrayList所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。