スパースベクトルのアクティブな要素を反復するJavaで簡単なコードを書く方法は?
そのようなベクトルがあるとしましょう:
Vector sv = Vectors.sparse(3, new int[] {0, 2}, new double[] {1.0, 3.0});
私はラムダまたはFunction2を試していました(3つの異なるインポートからですが、常に失敗しました)。Function2 を使用する場合は、必要なインポートを提供してください。
スパースベクトルのアクティブな要素を反復するJavaで簡単なコードを書く方法は?
そのようなベクトルがあるとしましょう:
Vector sv = Vectors.sparse(3, new int[] {0, 2}, new double[] {1.0, 3.0});
私はラムダまたはFunction2を試していました(3つの異なるインポートからですが、常に失敗しました)。Function2 を使用する場合は、必要なインポートを提供してください。
foreachActive
エイドリアン、スパースでメソッドを使用する方法は次のとおりですVector
AbstractFunction2<Object, Object, BoxedUnit> f = new AbstractFunction2<Object, Object, BoxedUnit>() {
public BoxedUnit apply(Object t1, Object t2) {
System.out.println("Index:" + t1 + " Value:" + t2);
return BoxedUnit.UNIT;
}
};
Vector sv = Vectors.sparse(3, new int[]{0, 2}, new double[]{1.0, 3.0});
sv.foreachActive(f);
これはスパース ベクトルを通過し、次のように出力されます。
Index:0 Value:1.0
Index:2 Value:3.0
4 つのインポートがあります。
import org.apache.spark.mllib.linalg.Vector;
import org.apache.spark.mllib.linalg.Vectors;
import scala.runtime.AbstractFunction2;
import scala.runtime.BoxedUnit;