毕业论文做得一个系统,用户不是存在数据库里,还是使用角色域,只能取出所有用户,计算每个积分,然后将对象存入arraylist,在进行排序。Comparator接口的确很好用
public class person
 {
   String username;
   int scores;
 }
 
 private ArrayList user(WebSession s)//获取用户 分数
 {
   ArrayList al = new ArrayList();
   int allscore=0;
 
   for (Iterator<String> userIter = UserTracker.instance().getAllUsers(WebSession.WEBGOAT_USER).iterator(); userIter
  .hasNext();)
   {
   person _a = new person();
   String user = userIter.next();
      for (Iterator lessonIter = s.getCourse().getLessons(s, AbstractLesson.USER_ROLE).iterator(); lessonIter
   .hasNext();)
   {
     Screen screen = (Screen) lessonIter.next();
  LessonTracker lessonTracker = UserTracker.instance().getLessonTracker(s, user, screen);
  allscore =allscore +lessonTracker.getScores();
    }
   _a.username = user;
   _a.scores=allscore;
   al.add(_a);
     }
   Comparator comp = new Mycomparator();
   Collections.sort(al,comp); 
   return al;
 }
 public class Mycomparator implements Comparator{
   public int compare(Object o1,Object o2) {
    person p1=(person)o1;
    person p2=(person)o2; 
    if(p1.scores<p2.scores)
     return 1;
    else
     return 0;
   }
 }