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);
}
}
測試結果

