毕业论文做得一个系统,用户不是存在数据库里,还是使用角色域,只能取出所有用户,计算每个积分,然后将对象存入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;
}
}