50,530
社区成员
发帖
与我相关
我的任务
分享
List<Your_Entity> list = getYourEntityFromDB(); //从数据库选取数据
//规则1排序
Collections.sort(list, new Comparator<Your_Entity>() {
public int compare(Your_Entity e1, Your_Entity e2) {
if (e1.getIndex() == 1) {
return -1;
} else if (e2.getIndex() == 1) {
return 1;
} else if (e1.getIndex() == 9) {
return -1;
} else if (e2.getIndex() == 9) {
return 1;
}
return e1.getIndex() - e2.getIndex();
}
});
//显示
for (int i=0; i<list.size(); i++) {
System.out.printf("index=%d, name=%s\n", i+1, list.get(i).getName());
}
//规则2排序
Collections.sort(list, new Comparator<Your_Entity>() {
public int compare(Your_Entity e1, Your_Entity e2) {
if (e1.getIndex() == 3) {
return (e2.getIndex() <= 7 ? 1 : -1);
} else if (e2.getIndex() == 3) {
return (e1.getIndex() <= 7 ? -1 : 1);
}
return e1.getIndex() - e2.getIndex();
}
});
//显示
for (int i=0; i<list.size(); i++) {
System.out.printf("index=%d, name=%s\n", i+1, list.get(i).getName());
}
//规则3
Collections.sort(list, new Comparator<Your_Entity>() {
public int compare(Your_Entity e1, Your_Entity e2) { //缺省排序(按index升序排序)
return e1.getIndex() - e2.getIndex();
}
});
list.remove(4); //删除index=5的数据,这里考虑是按顺序排列的数据都存在,否则要自己查找再删除
//显示
for (int i=0; i<list.size(); i++) {
System.out.printf("index=%d, name=%s\n", i+1, list.get(i).getName());
}
List<Your_Entity> list = getYourEntityFromDB(); //从数据库选取数据
//规则1排序
Collections.sort(list, new Comparator<Your_Entity>() {
public int compare(Your_Entity e1, Your_Entity e2) {
if (e1.getIndex() == 1) {
return -1;
} else if (e2.getIndex() == 1) {
return 1;
} else if (e1.getIndex() == 9) {
return -1;
} else if (e2.getIndex() == 9) {
return 1;
}
return e1.getIndex() - e2.getIndex();
}
});
//显示
for (int i=0; i<list.size(); i++) {
System.out.printf("index=%d, name=%s\n", i+1, list.get(i).getName());
}
//规则2排序
Collections.sort(list, new Comparator<Your_Entity>() {
public int compare(Your_Entity e1, Your_Entity e2) {
if (e1.getIndex() == 3) {
return (e2.getIndex() <= 7 ? 1 : -1);
} else if (e2.getIndex() == 3) {
return (e1.getIndex() <= 7 ? -1 : 1);
}
return e1.getIndex() - e2.getIndex();
}
});
//显示
for (int i=0; i<list.size(); i++) {
System.out.printf("index=%d, name=%s\n", i+1, list.get(i).getName());
}
//规则3
Collections.sort(list, new Comparator<Your_Entity>() {
public int compare(Your_Entity e1, Your_Entity e2) { //缺省排序(按index升序排序)
return e1.getIndex() - e2.getIndex();
}
});
list.remove(4); //删除index=5的数据,这里考虑是按顺序排列的数据都存在,否则要自己查找再删除
//显示
for (int i=0; i<list.size(); i++) {
System.out.printf("index=%d, name=%s\n", i+1, list.get(i).getName());
}