Tengo un con un montón de Integers
en él. Quiero convertirlo en una matriz, pero llamar¿Cómo puedo convertir un Java HashSet <Integer> en una matriz int primitiva?
hashset.toArray();
devuelve un Object[]
. ¿Hay una mejor manera de convertirlo a una matriz de int
que no sea iterar a través de cada elemento manualmente? Quiero pasar la matriz a
void doSomething(int[] arr)
que no aceptará el objeto de matriz [], incluso si intento lanzarlo como
doSomething((int[]) hashSet.toArray());
Automatic +1 para recomendar Apache Commons. – skaffman
@skaffman Recomendaría Apache Commons Lang ... aunque no para este problema en particular ... pero de todos modos, haga su jugada;) – sfussenegger
En realidad, no se repite entre bastidores: itera dos veces. Hay un 'Integer []' innecesario que ralentiza el proceso de creación de una matriz primitiva de una colección. En realidad, creo que la opción de usar 'Integer []' como parámetro para 'toPrimitive (..)' en lugar de 'Iterable' es un poco torpe ya que 'Arrays.asList (Integer [])' es una operación mucho más rápida que 'collection.toArray()'. Por lo tanto, no haré +1 automáticamente para recomendar apache commons :) –
sfussenegger