【发布时间】:2019-01-07 10:50:11
【问题描述】:
我需要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;
}
}
【问题讨论】:
-
排序,然后取第一、二、三、四...
-
这里已经完成了 95% 的复杂工作,剩下的 5% 就是排序和获取第 n 个元素,你找不到怎么做。
-
先生,您能详细解释一下吗!
-
你看过
heap吗?
标签: java arraylist collections