Java convert Arraylist<Float> to float[] Java convert Arraylist<Float> to float[] arrays arrays

Java convert Arraylist<Float> to float[]


Loop over it yourself.

List<Float> floatList = getItSomehow();float[] floatArray = new float[floatList.size()];int i = 0;for (Float f : floatList) {    floatArray[i++] = (f != null ? f : Float.NaN); // Or whatever default you want.}

The nullcheck is mandatory to avoid NullPointerException because a Float (an object) can be null while a float (a primitive) cannot be null at all.

In case you're on Java 8 already and it's no problem to end up with double[] instead of float[], consider Stream#mapToDouble() (no there's no such method as mapToFloat()).

List<Float> floatList = getItSomehow();double[] doubleArray = floatList.stream()    .mapToDouble(f -> f != null ? f : Float.NaN) // Or whatever default you want.    .toArray();


You can use Apache Commons ArrayUtils.toPrimitive():

List<Float> list = new ArrayList<Float>();float[] floatArray = ArrayUtils.toPrimitive(list.toArray(new Float[0]), 0.0F);