- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Spring Boot 应用程序,并尝试根据 Schedule POJO 类的 tag
获取最早的 timeStart
。
我有一个带有 getter 和 setter 方法的简单 bean -
时间表.java
public class Schedule {
private String id;
private String tag;
private String timeStart;
}
当我对此类列表进行 for 循环时,如下所示:-
List<Schedule> schedules = someAPI();
for (Schedule schedule : schedules) {
LOGGER.info("schedule : "+schedule );
}
然后我得到以下输出:-
schedule: [ID = 561, Tag = A1, timeStart = 2019-07-26 15:33:00]
schedule: [ID = 562, Tag = A1, timeStart = 2019-07-24 11:33:00]
schedule: [ID = 563, Tag = A1, timeStart = 2019-07-25 12:33:00]
schedule: [ID = 564, Tag = A2, timeStart = 2019-07-26 14:33:00]
schedule: [ID = 565, Tag = A2, timeStart = 2019-07-26 15:33:00]
现在我想通过标签名称
获取最小的timeStart
并将其存储在数据库中,因此我需要如下输出;-
A1 -> 2019-07-24 11:33:00
A2 -> 2019-07-26 14:33:00
我尝试了以下操作(将 timeStarts 按标签名称放入 HashMap 中)-
Map < String, ArrayList < String >> timeStartsByTag = new HashMap < String, ArrayList < String >> ();
ArrayList < String > timeStarts = new ArrayList < String > ();
for (Schedule schedule: schedules) {
if (timeStarts.isEmpty()) {
timeStarts.add(schedule.getTimeStart());
}
if (!timeStarts.isEmpty() && timeStartsByTag.containsKey(schedule.getTag())) {
timeStarts.add(schedule.getTimeStart());
}
timeStartsByTag.put(schedule.getTag(), timeStarts);
}
它不起作用。
最佳答案
在当前代码中,您不比较 timeStart
值。所以它无法工作。
除此之外,还可以使用需要合并函数的 Collectors.toMap()
重载来简化:
List<Schedule> schedules = someAPI();
Map<String, String> map =
schedules.stream()
.collect(toMap(Schedule::getTag, Schedule::getTimeStart,
(t1,t2)-> t1.compareTo(t2) < 0 ? t1 : t2))
);
这里 String.compareTo()
可以工作,因为字典顺序与您的当前要求相匹配,但这很脆弱。使用 LocalDateTime
或 Instant
来表示 2019-07-24 11:33:00
更有意义。
关于java - 根据bean属性值获取最早时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57674688/
我正在尝试将数据框中的两列转换为“良好”的日期和时间类,但到目前为止还没有取得太大成功。我尝试过各种类(timeDate、Date、timeSeries、POSIXct、POSIXlt >)但没有成功
我的 Spring Boot 应用程序中有 3 个监听器。只有一名听众应该从头开始阅读主题。如果我添加到 yml 文件中: spring.kafka.consumer.auto-offset-rese
我是 MySQL 新手。谁能告诉我这个问题的答案? 表 Requests,具有以下架构: 领域 |类型 请求编号(PK) |整数 请求日期 |日期 必填日期 |日期 接受日期 |日期 状态 |字符(1
我的 Broker 中有一个名为“test”的主题。我用 CLI 检查过。 我创建了一个 java 生产者来将消息发送到主题 test。我可以从 CLI 中使用它们。 .\kafka-console-
我是一名优秀的程序员,十分优秀!