JAVA实现按列表中元素的时间字段排序

时间:2022-10-13 06:46:13

JAVA代码实现按列表中元素的时间字段排序

导语:

工作中遇到一个问题,调用第三方接口返回的数据没有按时间倒序排列,测试说要加,然后在网上找到一个解决办法,这里记录一下

需求:

  • 如下图列表,按生日进行倒序排列

    JAVA实现按列表中元素的时间字段排序

用户类

@Data
@AllArgsConstructor
public class User {
private String name;
private String birthday;
}

测试类

@SpringBootTest
@Slf4j
public class TestSort { private List<User> list = new ArrayList<>(); @BeforeEach
void setUp() {
list.add(new User("张三", "1987-05-23 12:34:07"));
list.add(new User("李四", "1977-05-23 05:04:07"));
list.add(new User("王五", "1987-05-23 09:34:07"));
} @Test
@DisplayName("测试排序")
void test() {
// (1)顺序排列
list.sort(Comparator.comparing(User::getBirthday));
// (2)倒序排列
Collections.reverse(list);
// (3)输出list
log.info("排序后:"+list);
}
}

测试结果

JAVA实现按列表中元素的时间字段排序

参考资料

Java实现 根据list列表元素的时间字段进行排序