/** * Creates a shallow clone of this object; the left element itself is not cloned. */ public PairOfObjectLong<L> clone() { return new PairOfObjectLong<L>(left, right); }
/** * Iterator returns the same object every time, just with a different payload. */ public Iterator<PairOfObjectLong<K>> iterator() { return new Iterator<PairOfObjectLong<K>>() { private Iterator<MapKL.Entry<K>> iter = Object2LongFrequencyDistributionEntry.this.counts .entrySet().iterator(); private final PairOfObjectLong<K> pair = new PairOfObjectLong<K>(); @Override public boolean hasNext() { return iter.hasNext(); } @Override public PairOfObjectLong<K> next() { if (!hasNext()) { return null; } MapKL.Entry<K> entry = iter.next(); pair.set(entry.getKey(), entry.getValue()); return pair; } @Override public void remove() { throw new UnsupportedOperationException(); } }; }
private List<PairOfObjectLong<K>> getEntriesSorted(Comparator<PairOfObjectLong<K>> comparator) { List<PairOfObjectLong<K>> list = Lists.newArrayList(); for (MapKL.Entry<K> e : counts.entrySet()) { list.add(new PairOfObjectLong<K>(e.getKey(), e.getValue())); } Collections.sort(list, comparator); return list; }
private List<PairOfObjectLong<K>> getEntriesSorted(Comparator<PairOfObjectLong<K>> comparator) { List<PairOfObjectLong<K>> list = Lists.newArrayList(); for (Object2LongMap.Entry<K> e : counts.object2LongEntrySet()) { list.add(new PairOfObjectLong<K>(e.getKey(), e.getLongValue())); } Collections.sort(list, comparator); return list; }
/** * Iterator returns the same object every time, just with a different payload. */ public Iterator<PairOfObjectLong<K>> iterator() { return new Iterator<PairOfObjectLong<K>>() { private Iterator<Object2LongMap.Entry<K>> iter = Object2LongFrequencyDistributionFastutil.this.counts .object2LongEntrySet().iterator(); private final PairOfObjectLong<K> pair = new PairOfObjectLong<K>(); @Override public boolean hasNext() { return iter.hasNext(); } @Override public PairOfObjectLong<K> next() { if (!hasNext()) { return null; } Object2LongMap.Entry<K> entry = iter.next(); pair.set(entry.getKey(), entry.getLongValue()); return pair; } @Override public void remove() { throw new UnsupportedOperationException(); } }; }