当前位置: 首页 > 知识库问答 >
问题:

打印列表返回最大值[已关闭]

雷方伟
2023-03-14

我需要的方法,将回报的人与最高的工资。我不能用虚空法。

private void persons() {
    persons = new ArrayList<>();
    persons.add(new Employee("Pa", "Ko", 2500));
    persons.add(new Employee("Ku", "No", 5000));
    persons.add(new Student("Ka", "Sl", 500));

我尝试过类似的方法,但这不起作用:

private Person bestPayed(List<Person> persons) {
    persons.stream().max(Comparator.comparingInt(Person::getSalary));
    return Person ;

共有1个答案

许胡非
2023-03-14

您的流几乎可以返回可选 ,然后需要get()来确保返回pern对象,而不是可选对象。

或者,正如Alex在注释中所说,使用orelse来避免异常。

因此可以在方法中使用这一行:

public Person bestPayed(List<Person> persons) {
  return persons.stream().max(Comparator.comparingInt(Person::getSalary)).get();
}
public Person bestPayed(List<Person> persons) {
  return persons.stream().max(Comparator.comparingInt(Person::getSalary)).orElse(null);
}
java.util.NoSuchElementException: No value present

要输出对象,可以像下面这样调用方法:

System.out.println("BestPayed = "+bestPayed(persons));

并在Person类中添加ToString()方法。此方法是将对象输出为字符串,并取决于您的类具有哪些属性。

例如,假设类具有名称姓氏工资,则tostring()可以如下所示:

@Override
public String toString() {
    return "Person [name=" + name + ", surname=" + surname + ", salary=" + salary + "]";
}
BestPayed = Person [name=Ku, surname=No, salary=5000]
System.out.println("Best salary = "+bestPayed(persons).getSalary());
 类似资料:
  • 我刚刚开始在HackerRank上练习,以提高我的编码技巧。我主要使用Java作为我的首选语言。我已经得到了这个问题,我已经尽力给出了解决方案,但没有清除所有的测试用例。我已经清除了15个测试用例中的5个,但仍有10个需要完成。那些在hackerrank上的人可以通过以下链接看到这个问题:最小-最大和 无论如何,我给出了这个问题的简要描述: 问题陈述 给定五个正整数,通过将五个整数中的恰好四个求和

  • 编辑问题以包括所需的行为、特定问题或错误,以及重现问题所需的最短代码。这将有助于其他人回答这个问题。 代码不返回值,而是返回“?”。编译时我没有遇到任何错误。请协助。 代码需要返回需要支付的剩余金额。输出代码1代码2代码3代码4

  • 我有以下html: 以及以下javascript: 两者都通过Spring mvc中的控制器运行: 我的javascript通过使用ajax调用控制器public List getDates()来填充选择框,该调用返回日期列表并将其添加到html中。然后用户选择其中一个项目并将其再次提交给控制器以公共String getLocationsByDate(HttpServletRequest,模型模型

  • 我正在研究一种随机数方法,从数组中选取一个随机元素。但是,我不知道如何打印方法的返回值。这是密码。

  • 我们想写一个函数,它将二叉树的根作为输入,并使用类PairAns返回该树的最大值和最小值。 我在这个问题的基础案例中遇到了一些问题 我希望答案是正确的,但在所有测试用例中都出现了运行时错误。

  • 我正试图通过应用筛选器获得最高值 我有一个对象,它包含一个团队对象和一个卡片列表。所以我需要从卡权重属性中的卡列表中获得最高值,这里的队伍是A,并返回玩家。 错误: 请帮帮我,这是学术工作用的