急问一个关于list的排序问题,高手请进!!

lookoneyear 2007-08-31 11:25:54
不知道怎么描述,例如如下的例子:
List familylist=new ArrayList();

FamilyModel family1=new FamilyModel();
family1.setId="01";
family1.setName="老大";
family1.setChiName="老大儿子1";
familylist.add(family1);

FamilyModel family2=new FamilyModel();
family2.setId="02";
family2.setName="老二";
family2.setChiName="老二儿子1";
familylist.add(family2);

FamilyModel family3=new FamilyModel();
family3.setId="03";
family3.setName="老大";
family3.setChiName="老大儿子2";
familylist.add(family3);

……
这样可以得到一个放着FamilyModel的familylist,但我希望这个familylist能按FamilyModel里的Name来排序(最起码要能把“老大”的FamilyModel集中放在一起,“老二”的也放在一起)不知道应该怎样做比较简便呢?

...全文
218 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Collections.sort(familylist, new Comparator<FamilyModel>() {
    public int compare(FamilyModel o1, FamilyModel o2) {
      if(o1.getName().compareTo(o2.getName()) != 0){
        return o1.getName().compareTo(o2.getName());
      }else{
        return o1.getChiName().compareTo(o2.getChiName());
      }
    }
  });
livan1038 2007-08-31
  • 打赏
  • 举报
回复
例子:
http://dev.csdn.net/article/31/31142.shtm
一板砖夯死你 2007-08-31
  • 打赏
  • 举报
回复
为什么不将ChiName类型设为String[]呢?
南南北北 2007-08-31
  • 打赏
  • 举报
回复
学习之。
  • 打赏
  • 举报
回复
:)
lookoneyear 2007-08-31
  • 打赏
  • 举报
回复
非常感谢!!我找到原因了,原来我用来排序的那个字段在数据库里有两条记录为null,于是对比的时候就出错了。换了个没有null的字段来排序就可以了。
  • 打赏
  • 举报
回复
那段代码我测试过的没有问题。这个问题是在 SetCharacterEncodingFilter.doFilter 方法里产生了空指针,检查一下代码。
lookoneyear 2007-08-31
  • 打赏
  • 举报
回复
谢谢。我照着bao110908兄的方法用到项目中,结果出了这个错,可能是什么原因导致的?

javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.extremecomponents.table.filter.AbstractExportFilter.doFilter(AbstractExportFilter.java:49)
com.ywbase.comm.service.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123)


root cause

java.lang.NullPointerException
com.report.action.RepGovProPlanAction$1.compare(RepGovProPlanAction.java:262)
com.report.action.RepGovProPlanAction$1.compare(RepGovProPlanAction.java:1)
java.util.Arrays.mergeSort(Arrays.java:1284)
java.util.Arrays.mergeSort(Arrays.java:1295)
java.util.Arrays.sort(Arrays.java:1223)
java.util.Collections.sort(Collections.java:159)
com.report.action.RepGovProPlanAction.ListReportlist(RepGovProPlanAction.java:260)
com.report.action.RepGovProPlanAction.findXiangMuJiHua(RepGovProPlanAction.java:147)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:105)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.extremecomponents.table.filter.AbstractExportFilter.doFilter(AbstractExportFilter.java:49)
com.ywbase.comm.service.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧