/// <returns>total number of entries (key pairs)</returns> public virtual int Size() { int result = 0; foreach (K1 o in FirstKeySet()) { ClassicCounter <K2> c = map[o]; result += c.Size(); } return(result); }
public virtual double Remove(K1 o1, K2 o2) { ClassicCounter <K2> c = GetCounter(o1); double oldCount = GetCount(o1, o2); total -= oldCount; c.Remove(o2); if (c.Size() == 0) { Sharpen.Collections.Remove(map, o1); } return(oldCount); }
public virtual void RemoveZeroCounts() { ICollection <K1> firstKeySet = Generics.NewHashSet(FirstKeySet()); foreach (K1 k1 in firstKeySet) { ClassicCounter <K2> c = GetCounter(k1); Counters.RetainNonZeros(c); if (c.Size() == 0) { Sharpen.Collections.Remove(map, k1); } } }