目的:
从这个对象集合数据里,获取到一个对象的元素(begindate)的最小值和元素(enddate)最大值的方法:
方法一:
Optional<Date> minBeginDate = gl_accountbook.stream()
.map(obj -> (Date) obj.get("begindate"))
.min(Date::compareTo);
Optional<Date> maxEndDate = gl_accountbook.stream()
.map(obj -> (Date) obj.get("enddate"))
.max(Date::compareTo);
Date minBegindates = minBeginDate.get();
Date maxEnddates = maxEndDate.get();
方法二:
Date minBegindate;
Date maxEnddate;
if (gl_accountbook.size() > 0) {
minBegindate = (Date) gl_accountbook.get(0).get("begindate");
maxEnddate = (Date) gl_accountbook.get(0).get("enddate");
for (int i = 0; i < gl_accountbook.size(); i++) {
Date begindate = (Date) gl_accountbook.get(i).get("begindate");
if (begindate.after(maxEnddate)) {
maxEnddate = begindate;
}
if (begindate.before(minBegindate)) {
minBegindate = begindate;
}
}
}