TreeSet

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を追加で例外
ジェネリクス版は10.10fを追加で例外

ジェネリクス版は10.10fを追加で例外。

TreeSet (Java Platform SE 6)

addで追加済み要素と追加する要素が比較可能でないと、ClassCastExceptionらしい・・・。

整数と小数だけならとおもったがダメ
整数と小数だけならとおもったがダメ

整数と小数だけならとおもったがダメ・・・。

整数だけにしたら、

通った
通った

通った。
まあジェネリクス版を使うべき。

Sample/java/TreeSet/TreeSet/src/TreeSet at master · bg1bgst333/Sample · GitHub