arraylist同一个实例重复使用时,需要使用clear()及时清空,否则会在上次的结果后面添加项。

List<Double> weightsList = new ArrayList<Double>();
        
for(int i=0;i<4;i++){
        fs = FileSystem.get(URI.create(statePath[i]), conf);
        hdfsInStream = fs.open(new Path(statePath[i]));
        br = new BufferedReader(new InputStreamReader(hdfsInStream));
        int j = 0;
        while((line = br.readLine()) != null){
                if(j == 0)
                    percept = Double.parseDouble(line);
                else{
                    weightsList.add(Double.parseDouble(line));
                }
                j++;
         }
        double[] weights = new double[weightsList.size()];
        for(int k=0;k<weightsList.size();k++){
                weights[k] = weightsList.get(k);
         }
            model[i] = new SVMModel(weights, percept);
            weightsList.clear();
}
注意weightsList.clear();
posted on 2014-04-09 11:14  图样图森破  阅读(522)  评论(0编辑  收藏  举报