今天做DBMS作业的时候在对一个自定义的集合排序时思维堵塞了.于是查找各类资料许久终于开窍。自己做了个小例子备忘。
实现功能:按TT类中的a排序 /** /** /** ListIterator<TT> iter = a.listIterator(); public int compare(TT o1, TT o2) { }); ListIterator<TT> iter2 = a.listIterator(); class TT{ public void print() {
*
*/
* @author Sunky
*
*/
public class FF {
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stu
ArrayList<TT> a = new ArrayList<TT>();
a.add(new TT(5, "a"));
a.add(new TT(4, "a"));
a.add(new TT(1, "a"));
a.add(new TT(3, "a"));
a.add(new TT(9, "a"));
a.add(new TT(2, "a"));
while(iter.hasNext()) {
iter.next().print();
}
Collections.sort(a, new Comparator<TT>() {
// TODO Auto-generated method stub
return o1.a - o2.a;
}
while(iter2.hasNext()) {
iter2.next().print();
}
}
}
public int a = 0;
public String b = "ddd";
public TT(int ca, String cb) {
a = ca;
b = cb;
}
System.out.println("a:" + a + " b:" + b);
}
}
相关日志


2条评论
我没有看明白
Collections.sort(a, new Comparator<TT>() {
public int compare(TT o1, TT o2) {
// TODO Auto-generated method stub
return o1.a - o2.a;
}
这段代码包含一个匿名类
你可以拆分:
class Comparator<TT> {
public int compare(TT o1, TT o2) {
return o1.a - o2.a;
}
}
Collection.sort(a, new Comparator());
这样就很明朗了~~