2012-05-19 10 views
8

Quiero mostrar un gráfico y para mostrar que necesito entero values.I conseguir esto de mi códigoConversión de recogida de INT Matriz

Collection c = Sort.values(); 

¿Hay alguna manera de que puedo convertir colección de tal manera que ? i obtener valores enteros consigo este al imprimir la colección c

[64770, 26529, 13028, 848, 752, 496] 

Respuesta

15

Suponiendo que los valores son de tipo Integer, puede intentar esto:

Collection c = Sort.values(); 
Integer[] a = (Integer[])(c.toArray(new Integer[c.size()])); 
+0

Gracias, funciona :) – Xara

+0

Por razones de eficiencia, ¿se puede cambiar esta respuesta para obtener un 'int []' en vez de 'Integer []'? ¿Y esto fue para una versión anterior de Java antes del autoboxing? – SimonT

+0

@SimonT "¿podemos usar' int [] '?" No, no en Java. "¿Esto fue para Java antes del autoboxing?" No hay autoboxing en este código (no es necesario aquí). La recopilación podría hacerse genérica, pero eso tampoco es necesario. – dasblinkenlight

3
for (Integer value : c) { 
    int i = value.intValue(); 
    //do something with either value or i 
} 
+0

Demasiado complicado. Debido al autoboxing, puede escribir inmediatamente: 'for (int i: c) {' - no intValue - gimnasia necesaria. –

+0

Bueno, eso fue solo para dejar en claro lo que sucede y no estaba seguro si quería un entero o int. De ahí mi comentario en el código sobre "hacer algo con cualquier valor o yo" –

1

Simplemente:

Integer[] yourArrayVar = yourCollectionVar.toArray(new Integer[0]); 

java sólo tiene que saber qué tipo de matriz para producir.