java复合结构排序
数据结构
class SimpleSpecial {
String vid;
String name;
String icons;
Stirng year;
String grade;
}
排序规则
specials列表根据vid在ids列表中的index位置进行增序排列
普通写法
Collections.sort(specials, new Comparator<SimpleSpecial>() {
@Override
public int compare(SimpleSpecial o1, SimpleSpecial o2) {
return ids.indexOf(o1.getVid())- ids.indexOf(o2.getVid());
}
});
lamada排序
Collections.sort(specials, (o1, o2) -> ids.indexOf(o1.getVid()) - ids.indexOf(o2.getVid()));
Comparator排序
Collections.sort(specials, Comparator.comparingInt(o -> ids.indexOf(o.getVid())));