1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > JAVA代码实现按列表中元素的时间字段排序

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

时间:2022-12-05 00:29:53

相关推荐

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

@Data@AllArgsConstructorpublic class User1 {private String name;private String birthday;}

public class SortUser {public static void main(String[] args) {List<User1> list = new ArrayList<>();// list.add(new User1("张三", "1987-05-23 12:34:07"));// list.add(new User1("李四", "1977-05-23 05:04:07"));// list.add(new User1("王五", "1987-05-23 09:34:07"));list.add(new User1("王五1", "-03-01"));list.add(new User1("王五2", "-12-31"));list.add(new User1("王五3", "-10-23"));list.add(new User1("王五4", "-05-01"));list.add(new User1("王五5", "-10-31"));//(1)顺序排列list.sort(paring(User1::getBirthday));//(2)输出listSystem.out.println("排序后1:"+list);//(3)倒序排列Collections.reverse(list);//(4)输出listSystem.out.println("排序后2:"+list);}}

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

需求:

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

用户类

@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(paring(User::getBirthday));

// (2)倒序排列

Collections.reverse(list); //

(3)输出list

log.info("排序后:"+list);

}

}

测试结果

参考资料

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。