Ich habe eine mit einer Reihe von Integers
drin. Ich möchte es in ein Array drehen, aberWie kann ich ein Java HashSet <Integer> in ein primitives int-Array konvertieren?
hashset.toArray();
gibt ein Object[]
Aufruf. Gibt es eine bessere Möglichkeit, es in ein Array von int
anders als durch jedes Element manuell durchlaufen zu werfen? Ich möchte das Array
void doSomething(int[] arr)
, die das Object [] Array akzeptieren wird nicht passieren, auch wenn ich versuche, es wie
doSomething((int[]) hashSet.toArray());
Automatische +1 für die Empfehlung von Apache Commons. – skaffman
@skaffman Ich würde Apache Commons Lang empfehlen ... aber nicht für dieses spezielle Problem ... aber trotzdem, mach deinen Zug;) – sfussenegger
Eigentlich iteriert es nicht hinter den Kulissen - es iteriert zweimal. Es gibt eine unnötige 'Ganzzahl []', die den Prozess der Erstellung eines primitiven Arrays aus einer Sammlung verlangsamt. Tatsächlich denke ich, dass die Wahl, 'Integer []' als Parameter für 'toPrimitive (..)' anstelle von 'Iterable' zu verwenden, ein wenig klobig ist, da 'Arrays.asList (Integer [])' eine viel schnellere Operation ist 'collection.toArray()'. Daher werde ich nicht automatisch +1 für Apache Commons empfehlen :) –
sfussenegger