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实现 根据list列表元素的时间字段进行排序

原文地址:https://www.cnblogs.com/Kingram/p/11843606.html