从一个List集合中取出一个最近的时间方法

31 篇文章 0 订阅
17 篇文章 1 订阅

人工智能,零基础入门!http://www.captainbed.net/inner

有一个场景,就是一个有list,list里面放的是Card对象,Card对象有多个属性值,包括卡用户信息、卡最近使用时间opTime,这个list是查询用户卡包得到的卡列表。

现在有一个需求,就是查询卡列表时,我不需要把所有的卡都查出来,只需要拿到一张用户最近使用的卡来。这个时间最近的依据就是opTime距离现在最近,要怎样来实现?

下面有一个比较简单的实现方法:

代码如下

方法源码:

	public CentralCard selectLastOne(List<CentralCard> list) {
		CentralCard card = new CentralCard();

		Long dates[] = new Long[list.size()];
		for (int i = 1; i <= list.size(); i++) {
			// 把date类型的时间对象转换为long类型,时间越往后,long的值就越大,
			// 所以就依靠这个原理来判断距离现在最近的时间
			dates[i - 1] = list.get(i).getOpTime().getTime();
		}

		Long maxIndex = dates[0];// 定义最大值为该数组的第一个数
		for (int j = 0; j < dates.length; j++) {
			if (maxIndex < dates[j]) {
				maxIndex = dates[j];
				// 找到了这个j
				card = list.get(j + 1);
			}
		}
		return card;
	}

原理就是把date类型的时间转换为long型,距离现在越近的时间的long的值就越大。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值