我有一个列出所有记录的代码。但我希望它是降序。继承我的代码:
<%
ChangeRequestDetails changeRequestDetails = new ChangeRequestDetails();
List<ChangeRequestBean> changerequestlistchangeRequestDetails.getAllChangeRequests();
%>
<table>
<tr>
<th>Id</th>
<th>Requestor</th>
<th>Description</th>
<th>Category</th>
<th>Type</th>
<th>Priority</th>
<th>Approval</th>
</tr>
<%
for (ChangeRequestBean changerequest: changerequestlist) {
%>
<tr class="gradeB">
<td><%=changerequest.getChangerequestid()%></td>
<td><%=changerequest.getUserdivisionid()%></td>
<td><%=changerequest.getDefchangerequest()%></td>
<td><%=changerequest.getCategory()%></td>
<td><%=changerequest.getChangerequesttype()%></td>
<td><%=changerequest.getChangerequestpriority()%></td>
<!--<td><%=changerequest.getDatestamp()%></td>-->
<td><%=changerequest.getApproval()%></td>
</tr>
<%}%>
</table>
请帮助,我希望它按降序排列,因为我想看到最近添加的记录。谢谢你们。
答案 0 :(得分:1)
如果您的列表已按升序添加,则可以使用ListIterator以相反的顺序迭代
<%
ListIterator<ChangeRequestBean> iterator = changerequestlistchangeRequestDetails.listIterator(changerequestlistchangeRequestDetails.size());
while (iterator.hasPrevious()) {
ChangeRequestBean changerequest = iterator.previous();
%>
...
<%
}
%>
在这种情况下,您无需在每次需要更改订单时撤消列表。
如果您之前需要对列表进行排序,可以使用Collections.sort使用指定的Comparator对bean进行排序。在这种情况下,您可以使用不同的比较器使用不同的排序规则对列表进行排序。
答案 1 :(得分:0)
如果尚未完成,请在ChangeRequestBean中实现Comparable inerface。
根据您的需要更改public int compareTo(ChangeRequestBean bean)代码将根据changerequestid进行排序。
class ChangeRequestBean implements Comparable<ChangeRequestBean> {
public int compareTo(ChangeRequestBean bean) {
return this.changerequestid - bean.changerequestid ;
}
}
使用以下代码对列表进行反向排序。
Collections.reverse(changerequestlist);