TreeSetは、ツリー(木構造)によって保存場所を決める重複しない集合。
TreeSet (Java Platform SE 6)
HashSet と TreeSet はどう使う? - コレクション - Java 入門
こちらはSortedSortが実装されているので、値でソートされる。
import java.util.TreeSet; // メインクラス public class MainClass{ // MainClassの定義 // Javaのエントリポイント public static void main(String[] args){ // mainメソッドの定義 // TreeSetにアイテムを追加. TreeSet treeSet = new TreeSet(); // treeSetを生成. treeSet.add("abc"); treeSet.add(10.10f); treeSet.add(1); // treeSetの中身を出力. for (Object e : treeSet){ System.out.println(e); } // TreeSet<String>にアイテムを追加. TreeSet<String> strTreeSet = new TreeSet<String>(); // strTreeSetを生成. strTreeSet.add("aaa"); strTreeSet.add("bbb"); strTreeSet.add("ccc"); // strTreeSetの中身を出力. for (String s : strTreeSet){ System.out.println(s); } } }
HashSetをTreeSetに置き換えただけだと、
非ジェネリクス版は10.10fを追加で例外。
addで追加済み要素と追加する要素が比較可能でないと、ClassCastExceptionらしい・・・。
整数と小数だけならとおもったがダメ・・・。
整数だけにしたら、
通った。
まあジェネリクス版を使うべき。
Sample/java/TreeSet/TreeSet/src/TreeSet at master · bg1bgst333/Sample · GitHub