类型快速矢量<E>已弃用

  • 本文关键字:类型 java weka arff
  • 更新时间 :
  • 英文 :


我正在尝试从Java中的多维数组中获取arrf扩展输出文件。我导入了weka库,但我遇到了一个错误;The type FastVector<E> is deprecated.

我可以使用什么来代替FastVector,以及如何重写下面的代码?

    import weka.core.FastVector; //Error: The type FastVector<E> is deprecated. 

    int [][] myArray = new int[45194][12541];
    for (int i = 0; i < myArray.length; i++) {
        for (int j = 0; j < myArray[0].length; j++) {
            System.out.print(myArray[i][j]+" "); 
        }
        System.out.println("");
    }
    int numAtts = myArray[0].length;
    FastVector atts = new FastVector(numAtts);
    for (int att = 0; att < numAtts; att++) {
        atts.addElement(new Attribute("Attribute" + att, att));
    }
    int numInstances = myArray.length;
    Instances dataset = new Instances("Dataset", atts, numInstances);
    for (int inst = 0; inst < numInstances; inst++) {
        dataset.add(new Instance(1.0, myArray[inst]));   //Error: Cannot instantiate the type Instance
    }
    BufferedWriter writer = new BufferedWriter(new FileWriter("test.arff"));
    writer.write(dataset.toString());
    writer.flush();
    writer.close();

Weka现在在大多数地方使用类型化的ArrayLists。您可以使用ArrayList<Attribute>进行以下操作:

ArrayList<Attribute> atts = new ArrayList<Attribute>();
    for (int att = 0; att < numAtts; att++) {
        atts.add(new Attribute("Attribute" + att, att));
    }

最新更新