Mic*_*abe 4 java collections jsp arraylist
我有一个问题,我真的不知道从哪里开始.所以我想我会问这里.
基本上,我有一个名字下拉.我希望这些名称按字母顺序排列.
填充下拉的过程如下:
我查询数据库并下拉Id和Name,创建一个名为"UserList"的对象,并使用我得到的内容设置名称和id变量.然后我将此对象添加到ArrayList.我一遍又一遍地这样做.
然后我将此集合转换为数组,并使用它将其传递给我的JSP页面
session.setAttribute("userList", UserList);
Run Code Online (Sandbox Code Playgroud)
然后我填充下拉列表如下.
<c:forEach items="${userList}" var="c" >
`<html-el:option value="${c.id}"><c:out value="${c.name}"/></html-el:option> </c:forEach>
Run Code Online (Sandbox Code Playgroud)
可能有一个简单的答案,但我如何对这些名称进行排序?
您通常通过public static Collections.sort(List<T> list)
使用您ArrayList
的参数调用来执行此Comparable
操作,但请注意实现该接口,否则它将无法工作(如果它们Strings
已经实现):
Collections.sort(yourList);
Run Code Online (Sandbox Code Playgroud)
否则,如果您有一个自定义类,但是您想要对某个字符串字段进行排序,则可以委派该compareTo
方法:
public class User implements Comparable<User> {
public int compareTo(User other) {
return userName.compareTo(other.userName);
}
}
Run Code Online (Sandbox Code Playgroud)
最后,如果没有你的情况只是滚动你自己的compareTo
方法,它应该返回-1
,0
或者1
如果调用对象小于,等于或大于传递的方法.