日期:2014-05-20  浏览次数:20768 次

java,怎么把Vector<Float>快速转为float [],在线等
情况是这样的。

我有一个Vector<Float> v;里面存很多数据。
我不想用float []a = new float[v.size()]的方法再一个个拷贝过来,太耗时间。

我看到用toArray的方法,但是都没成功。
请问有什么办法能快速将Vector中数据存到数组里吗?

已知:
Vector<Float> v;
要求:
把数据转化到float []a中。要快。


------解决方案--------------------
Java code

Float[] f = v.toArray(new Float[0]);

------解决方案--------------------
Java code

Vector<Float> v = new Vector<Float>();
            float[] c2 = new float[v.size()];
            for(int i=0;i<v.size();i++){
                c2[i]=v.get(i).floatValue();
            }

------解决方案--------------------
Vector<Float> v = new Vector<Float>();
v.addElement(new Float(3.2));
v.addElement(new Float(332.1));
Float[] f = v.toArray(new Float[v.size()]);
for (Float f1 : f) {
System.out.println(f1);
}
------解决方案--------------------
我就不明白了,为什么我用for循环就叫拷贝,你总的把Float转化为float吧,这个不需要时间吗?即使存在把Float[]直接转化为float[],你又确定他不是拷贝的。对楼主无语了,假如我封装了一个方法
Java code

class Float{
        
        float[] TofloatValues(Vector<Float> v){
             float[] c2 = new float[v.size()];
             for(int i=0;i<v.size();i++){
                 c2[i]=v.get(i).floatValue();
             }
             return c2;
        }
    }
你只要用
Vector<Float> v = new Vector<Float>();
float[] a = Float.TofloatValues(v);
有什么区别吗?