FloatList is backed by an internal float[] array while the corresponding ArrayList<Float> is a Float array instead:
https://docs.Oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Float.html
The primitive float type is faster than an object Float, but nothing that big.
Here’s an example using that combo:
import java.util.List;
final List<FloatList> segs = new ArrayList<FloatList>();
for (int i = 0; i++ < 3; ) {
final FloatList fl = new FloatList();
segs.add(fl);
for (int j = 0; j++ < 5; fl.append(random(-1000, 1000)));
}
for (final FloatList fl : segs) println(fl);
println();
for (final FloatList fl : segs) fl.sort();
for (final FloatList fl : segs) println(fl);
exit();
And that same sketch but using a vanilla FloatList[] array instead:
final FloatList[] segs = new FloatList[3];
for (int i = 0; i < segs.length; ++i) {
final FloatList fl = new FloatList();
segs[i] = fl;
for (int j = 0; j++ < 5; fl.append(random(-1000, 1000)));
}
for (final FloatList fl : segs) println(fl);
println();
for (final FloatList fl : segs) fl.sort();
for (final FloatList fl : segs) println(fl);
exit();