gpt4 book ai didi

java - 如何使用集合从 arrayList 中调用第二大数字

转载 作者:行者123 更新时间:2023-12-02 02:00:53 27 4
gpt4 key购买 nike

我需要 ArrayList 中的最高、第二高和第三高数字。我通过调用 Collections.max() 获得最大值(即最高数字),​​但我还需要第二大值和第三大值。
我的代码:

maxPartyid = 
Collections.max(electionresdashlist.get(k).getPartyNamesDTO()); //1st Highest

System.out.println( "maxPartyid:::"+maxPartyid);

in DTO :
public class PartyNamesDTO implements Comparable<PartyNamesDTO>{

private String partyId;
public String getPartyId() {
return partyId;
}
public void setPartyId(String partyId) {
this.partyId = partyId;
}
private Integer votes;


public Integer getVotes() {
return votes;
}
public void setVotes(Integer votes) {
this.votes = votes;
}

@Override
public int compareTo(PartyNamesDTO emp) {
return this.votes.compareTo(emp.getVotes());
}

public String toString(){
return partyId;
}
}

最佳答案

您可以使用 java 8 流来排序和跳过不必要的元素

list.stream().sorted(Comparator.reverseOrder()).limit(2).skip(1).findFirst()

findFirst()返回 Optional<T>你的对象。

关于java - 如何使用集合从 arrayList 中调用第二大数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51606628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com