/** * Increments a frequency counter for a digram. * * @param entry the entry. * @param increment the increment value. */ public void incrementFrequency(DigramFrequencyEntry entry, int increment) { // findout the old bucket and remove this entry ArrayList<DigramFrequencyEntry> oldBucket = this.bucketsToEntries.get(entry.getFrequency()); oldBucket.remove(entry); if (oldBucket.isEmpty()) { this.bucketsToEntries.remove(entry.getFrequency()); } // get the increment added int newFreq = entry.getFrequency() + increment; entry.setFrequency(newFreq); // put into the new bucket ArrayList<DigramFrequencyEntry> bucket = this.bucketsToEntries.get(newFreq); if (null == bucket) { bucket = new ArrayList<DigramFrequencyEntry>(); this.bucketsToEntries.put(newFreq, bucket); } bucket.add(entry); }