Von Sun Java Tutorial hätte ich gedacht, dass dieser Code ein Set in ein Array konvertieren würde.Java: Konvertieren eines Satzes in ein Array für String-Darstellung
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);
}
}
Allerdings gibt diese
[a, c, b]
[Ljava.lang.String;@9b49e6
Was habe ich falsch verstanden?
"[Ljava.lang.String; @ 9b49e6" ist ein Array von Strings. – Fredrik
War die Reihenfolge der Elemente genau darin? Ich habe eine ähnliche Situation, in der die Reihenfolge eine eigene Meinung zu haben scheint und nicht in der Reihenfolge, in der Artikel hinzugefügt wurden. – electrichead
Sets haben im Allgemeinen keine definierte Reihenfolge, Sie können sich also nicht auf die Reihenfolge verlassen, in der Sie die Elemente in das Set einfügen, die der Reihenfolge entsprechen, in der Sie sie erhalten. Versuchen Sie die LinkedHashSet-Implementierung der Set-Schnittstelle, wenn Sie das möchten; es fügt diese Garantie hinzu. – Frans