今天做DBMS作业的时候在对一个自定义的集合排序时思维堵塞了.于是查找各类资料许久终于开窍。自己做了个小例子备忘。

实现功能:按TT类中的a排序

import java.util.*;

/**
*
*/

/**
* @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"));

ListIterator<TT> iter = a.listIterator();
while(iter.hasNext()) {
iter.next().print();
}
Collections.sort(a, new Comparator<TT>() {

public int compare(TT o1, TT o2) {
// TODO Auto-generated method stub
return o1.a - o2.a;
}

});

ListIterator<TT> iter2 = a.listIterator();
while(iter2.hasNext()) {
iter2.next().print();
}
}
}

class TT{
public int a = 0;
public String b = "ddd";
public TT(int ca, String cb) {
a = ca;
b = cb;
}

public void print() {
System.out.println("a:" + a + " b:" + b);
}
}

相关日志

  • 暂无相关日志

17fav 收藏本文

相关日志

  • 暂无相关日志

2条评论

  • At 2006.08.17 14:51, yagaka said:

    我没有看明白
    Collections.sort(a, new Comparator<TT>() {

    public int compare(TT o1, TT o2) {
    // TODO Auto-generated method stub
    return o1.a - o2.a;
    }

    • At 2006.08.19 19:31, Sunky said:

      这段代码包含一个匿名类
      你可以拆分:
      class Comparator<TT> {
      public int compare(TT o1, TT o2) {
      return o1.a - o2.a;
      }
      }

      Collection.sort(a, new Comparator());

      这样就很明朗了~~

      (Required)
      (Required, will not be published)