Z Sun Java Tutorial, pomyślałem, że ten kod zamieni zestaw w tablicę.Java: Konwertowanie zestawu do tablicy na reprezentację ciągów
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);
}
}
to jednak daje
[a, c, b]
[Ljava.lang.String;@9b49e6
Co ja niezrozumiany?
"[Ljava.lang.String; @ 9b49e6" JEST tablicą łańcuchów. – Fredrik
Czy kolejność elementów była w tym dokładna? Mam podobną sytuację, gdy wydaje się, że zamówienie ma własny umysł, a nie w kolejności dodawania przedmiotów. – electrichead
Zestawy ogólnie nie mają zdefiniowanej kolejności, więc nie można polegać na kolejności, w jakiej elementy zostały umieszczone w zestawie, w takiej samej kolejności, w jakiej je zamówiono. Wypróbuj implementację LinkedHashSet interfejsu Set, jeśli tego chcesz; dodaje tę gwarancję. – Frans