SunのJava Tutorialから、このコードがセットを配列に変換すると思ったでしょう。Java:文字列表現のためにセットを配列に変換する
import java.util.*;
public class Blagh {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
set.add("a");
set.add("b");
set.add("c");
String[] array = set.toArray(new String[0]);
System.out.println(set);
System.out.println(array);
}
}
しかし、これは私が誤解している何
[a, c, b]
[Ljava.lang.String;@9b49e6
を与えますか?
"[Ljava.lang.String; @ 9b49e6"は文字列の配列です。 – Fredrik
これで要素の順序が正確でしたか?私は、注文が独自の考え方を持ち、項目が追加された順序ではないような状況に似ています。 – electrichead
一般的にセットは定義されたオーダーを持っていないので、あなたがそれらを得る順序と同じセットに要素を入れる順序に依存することはできません。 SetインタフェースのLinkedHashSet実装を試してみてください。この保証が追加されます。 – Frans