java.lang.Comparableもありますよ

Javaで文字列ソートを行う方法

  • Collections.sortを使う
  • TreeSetを使う
  • Arrays.sort + Comparatorを使う

http://d.hatena.ne.jp/bluerabbit/20090617

Comparableを使用する方法もあるので紹介します。
あおうささんの日記のJoSQLを使用したサンプルを少し改造しました。

package sample;
public class Bean implements Comparable<Bean> {
  private String value;
  public String getValue() {
    return value;
  }
  public void setValue(String value) {
    this.value = value;
  }
  @Override
  public int compareTo(Bean bean) {
    return value.compareTo(bean.value);
  }
  @Override
  public String toString() {
	  return value;
  }
}

実行はこちら

public static void main(String[] args) {
  Set<Bean> set = new TreeSet<Bean>();
  Bean bean1 = new Bean();
  bean1.setValue("x");
  Bean bean2 = new Bean();
  bean2.setValue("z");
  Bean bean3 = new Bean();
  bean3.setValue("1");
  Bean bean4 = new Bean();
  bean4.setValue("2");
  set.add(bean1);
  set.add(bean2);
  set.add(bean3);
  set.add(bean4);
  System.out.println(set);
}

Comparableの場合、Beanのようなクラスに対して比較処理を書くことができるので、TreeSetなどをそのまましよう可能です。Comparatorとの違いは、比較のロジックを外部に持つ(Comparator)のか、内部つまりクラス自身に持つ(Comparable)もつのかの違いです。
あと、ここでは実装しませんでしたが、Comparableを実装するような場合は、equalsやhasocodeなどもオーバーライドした方がよいのだと思います。