1

我有一个列出所有记录的代码。但我希望它是降序的。这是我的代码:

<%
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>

请帮忙,我希望它按降序排列的原因是因为我想查看最近添加的记录。提前谢谢你们。

4

2 回答 2

1

如果您的列表已经按升序排序,您可以使用 ListIterator 以相反的顺序进行迭代

<%
ListIterator<ChangeRequestBean> iterator = changerequestlistchangeRequestDetails.listIterator(changerequestlistchangeRequestDetails.size());
while (iterator.hasPrevious()) {
    ChangeRequestBean changerequest = iterator.previous();
%>
...
<%
}
%>

在这种情况下,您不必每次需要更改顺序时都反转您的列表。

如果之前需要对列表进行排序,可以使用Collections.sort使用指定的 Comparator 对 bean 进行排序。在这种情况下,您可以使用不同的比较器使用不同的排序规则对列表进行排序。

于 2013-08-30T03:32:52.917 回答
0

如果尚未完成,请在 ChangeRequestBean 中实现 Comparable 接口。

根据您的需要更改 public int compareTo(ChangeRequestBean bean) 下面的代码将根据 changerequestid 进行排序。

    class ChangeRequestBean implements Comparable<ChangeRequestBean> {

        public int compareTo(ChangeRequestBean  bean) {
             return this.changerequestid   - bean.changerequestid ;
        }       
    }

使用以下代码对列表进行反向排序。

  Collections.reverse(changerequestlist);
于 2013-08-30T03:23:02.367 回答