1

TreeSet現在、一意のキーを保存するために使用するプログラムに取り組んでいます。並べ替えたいので、TreeSet を使用しています。

今のところ、私は TreeSet オブジェクトを作成しており、必要に応じて文字列を 1 つずつ追加しています。

TreeSet set = new TreeSet();
set.add("How");
set.add("Are");
set.add("You");

おそらく、TreeSet は のcompareToメソッドを使用しCompareable interfaceて文字列をソートします。これは、TreeSet に String を追加するたびにソートを行う必要があることを意味します。

私の質問は次のとおりです: HashSet に追加された後にHashSetを作成してから作成する方が効率的でしょうか?TreeSetall strings

TreeSet<String> treeSet = new TreeSet<String>(set);

私の考えは、TreeSet がそのように単一の並べ替えを行うだけでよいかどうかについてです。

前もって感謝します

4

3 に答える 3

5

TreeSet自己平衡二分探索木です。つまりlog(n, 2)、挿入ごとに比較が行われます。TreeSet要素を個別に追加するか、別のコレクションから作成するかに違いはありません。

于 2013-08-26T20:48:24.403 に答える