Is there an efficient way to set all values in a Trove map to zero?
Right now I am doing this:
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);
}
but it seems sort of messy.
It's at least a little cleaner if you use
transformValues()
instead offorEachKey()
:I don't think you're going to see a more efficient solution — at some point, something has to iterate over all the values.