ちょっと説明不足でした
compareToどうやってsortしているのかという点です。

Item item1 = new Item("");
Item item2 = new Item("");
Item item3 = new Item("");

List list = new ArrayList();

list.add(item1);
list.add(item2);
list.add(item3);

Collections.sort(list);



class Item implements Comparable{
private String str;
Item(String str){ this.str = str;}

public int compareTo(Object obj){
* return ほにゃらら
}
}

アスタリスクの部分で何と何を判定して大きい小さい-1,0,1の値を返して
どうやって並び替えをしているのかというのがよく分かりません