От 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
Установки вообще не имеют определенного порядка, поэтому вы не можете полагаться на то, что вы поместите элементы в набор, такие же, как и порядок, который вы получаете. Попробуйте реализацию LinkedHashSet интерфейса Set, если это то, что вы хотите; он добавляет эту гарантию. – Frans