为了账号安全,请及时绑定邮箱和手机立即绑定

对对象流进行排序并首先获取并打印出来

对对象流进行排序并首先获取并打印出来

千万里不及你 2022-10-26 17:24:02
我正在编写代码以按年龄对人员列表进行排序,并为最旧的人添加前缀并打印出来定义的对象列表:    Person person1 = new Person(40,"John", "Smith");    Person person2 = new Person(45,"Mike", "Well");    Person person3 = new Person(68,"Bob", "Parks");    Person person4 = new Person(49,"Leon", "Foo");    Person person5 = new Person(30,"Christian", "Markus");    List<Person> personList = new ArrayList<>();    personList.add(person1);    personList.add(person2);    personList.add(person3);    personList.add(person4);    personList.add(person5);我能够对其进行排序和添加前缀,但问题是获取第一项并将其打印出来    List<Person> orderedPersonAge  = personList            .stream()            .sorted(Comparator.comparing(Person::getAge).reversed())            .map(s-> new     Person(s.getAge(),"Super"+s.getName(),s.getSureName()))            .collect(Collectors.toList());    System.out.println(orderedPersonAge);我试着玩 findFirst() ...不同的方法是按年龄排序,取最旧的,然后添加前缀......
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

你可以做

Person orderedPersonAge  = personList
        .stream()
        .sorted(Comparator.comparing(Person::getAge).reversed())
        .map(s-> new Person(s.getAge(),"Super"+s.getName(),s.getSureName()))
        .collect(Collectors.toList())
        .get(0);
        System.out.println(orderedPersonAge);

或者

Person orderedPersonAge  = personList
        .stream()
        .sorted(Comparator.comparing(Person::getAge).reversed())
        .map(s-> new Person(s.getAge(),"Super"+s.getName(),s.getSureName()))
        .findFirst()
        .get();
        System.out.println(orderedPersonAge);


查看完整回答
反对 回复 2022-10-26
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

你可能只是在寻找

personList.stream()
   .max(Comparator.comparing(Person::getAge)) // solves for sort with reverse and find first
   .map(s -> new Person(s.getAge(), "Super" + s.getName(), s.getSurname())) // map if present
   .ifPresent(System.out::println); // print the mapped output if present



查看完整回答
反对 回复 2022-10-26
  • 2 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号