Java 有没有一种有效的方法将Trove映射中的所有值设置为零?
有没有一种有效的方法将Trove映射中的所有值设置为零 现在,我正在这样做:Java 有没有一种有效的方法将Trove映射中的所有值设置为零?,java,trove4j,Java,Trove4j,有没有一种有效的方法将Trove映射中的所有值设置为零 现在,我正在这样做: public static class NcZeroD implements TDoubleProcedure{ public TDoubleDoubleHashMap map; @Override public boolean execute(double k) { map.put(k, 0); return t
public static class NcZeroD implements TDoubleProcedure{
public TDoubleDoubleHashMap map;
@Override
public boolean execute(double k) {
map.put(k, 0);
return true;
}
}
static NcZeroD ncZeroD=new NcZeroD();
public static void zero(TDoubleDoubleHashMap map){
ncZeroD.map=map;
map.forEachKey(ncZeroD);
}
但是它看起来有点凌乱。如果你用forEachKey()代替
forEachKey(),它至少会更干净一点。
:
我不认为你会看到一个更有效的解决方案-在某一点上,必须对所有的值进行迭代
private static final TDoubleFunction TO_ZERO = new TDoubleFunction() {
@Override
public double execute(double value) {
return 0;
}
};
public static void zero(TDoubleDoubleHashMap map) {
map.transformValues(TO_ZERO);
}