/** * This method returns total number of elements in this CounterMap * @return */ public int totalSize() { int size = 0; for (F first: keySet()) { size += getCounter(first).size(); } return size; } }
/** * This method will increment values of this counter, by counts of other counter * * @param other */ public void incrementAll(CounterMap<F, S> other) { for (Map.Entry<F, Counter<S>> entry : other.maps.entrySet()) { F key = entry.getKey(); Counter<S> innerCounter = entry.getValue(); for (Map.Entry<S, AtomicDouble> innerEntry : innerCounter.entrySet()) { S value = innerEntry.getKey(); incrementCount(key, value, innerEntry.getValue().get()); } } }
/** * This method checks if this CounterMap has any values stored for a given first element * * @param element * @return */ public boolean isEmpty(F element){ if (isEmpty()) return true; Counter<S> m = maps.get(element); if (m == null) return true; else return m.isEmpty(); }
private boolean hasInside() { if (innerIt == null || !innerIt.hasNext()) { if (!outerIt.hasNext()) { return false; } curKey = outerIt.next(); innerIt = getCounter(curKey).keySet().iterator(); } return true; }
outerIt = keySet().iterator();
private boolean hasInside() { if (innerIt == null || !innerIt.hasNext()) { if (!outerIt.hasNext()) { return false; } curKey = outerIt.next(); innerIt = getCounter(curKey).keySet().iterator(); } return true; }
outerIt = keySet().iterator();
/** * This method returns total number of elements in this CounterMap * @return */ public int totalSize() { int size = 0; for (F first: keySet()) { size += getCounter(first).size(); } return size; } }
/** * This method checks if this CounterMap has any values stored for a given first element * * @param element * @return */ public boolean isEmpty(F element){ if (isEmpty()) return true; Counter<S> m = maps.get(element); if (m == null) return true; else return m.isEmpty(); }
/** * This method will increment values of this counter, by counts of other counter * * @param other */ public void incrementAll(CounterMap<F, S> other) { for (Map.Entry<F, Counter<S>> entry : other.maps.entrySet()) { F key = entry.getKey(); Counter<S> innerCounter = entry.getValue(); for (Map.Entry<S, AtomicDouble> innerEntry : innerCounter.entrySet()) { S value = innerEntry.getKey(); incrementCount(key, value, innerEntry.getValue().get()); } } }