java 稀疏矩阵中输入的索引系列和对应的值系列需要用 int[] r_indices = new int[featureIdxList.size()]; 的数据格式。
但是实际中可能实现没法确定 featureIdxList.size()的大小,只能先定义一个列表 ArrayList<Integer>
,输入值后,再转换成 int[] 的格式。
例如:
转换前定义列表
ArrayList<Integer> rIndex_list = new ArrayList<Integer>();
ArrayList<Double> rValue_list = new ArrayList<Double>();
。。。(处理rIndex_list ,rValue_list )
处理完成后,转成 int[]格式:
int[] r_index= Ints.toArray(rIndex_list);
double[] r_value=ArrayUtils.toPrimitive(rValue_list.toArray(new Double[rValue_list.size()]));
构造稀疏矩阵
ret = (SparseVector) Vectors.sparse(sizeSum, r_index, r_value); //稀疏处理