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 インターフェイスを実装します。

以下のコードは、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 に答える