versionToConnMap.object2ObjectEntrySet().fastIterator(); itr.hasNext();) { Object2ObjectMap.Entry entry = itr.next(); Object ver = entry.getKey();
new String[desc2TermData.size()][][] : null; ObjectIterator<Object2ObjectMap.Entry<String, TermData>> iter = desc2TermData.object2ObjectEntrySet().fastIterator(); int pos = 0; while(iter.hasNext()) {
stats, sendBufferSize)); for (ObjectIterator<Object2ObjectMap.Entry> itr = versionToConnMap.object2ObjectEntrySet().fastIterator(); itr.hasNext(); ) { Object2ObjectMap.Entry entry = itr.next(); Object ver = entry.getKey();
/** * Iterates {@linkplain FastEntrySet#fastForEach(Consumer) quickly}, if * possible, on the {@linkplain Map#entrySet() entry set} of the provided * {@code map}. * * @param map * a map on which we will try to iterate * {@linkplain FastEntrySet#fastForEach(Consumer) quickly}. * @param consumer * the consumer that will be passed to * {@link FastEntrySet#fastForEach(Consumer)}, if possible, or to * {@link Iterable#forEach(Consumer)}. * @since 8.1.0 */ @SuppressWarnings("unchecked") public static <K, V> void fastForEach(Object2ObjectMap<K, V> map, final Consumer<? super Object2ObjectMap.Entry<K, V>> consumer) { final ObjectSet<Object2ObjectMap.Entry<K, V>> entries = map.object2ObjectEntrySet(); if (entries instanceof Object2ObjectMap.FastEntrySet) ((Object2ObjectMap.FastEntrySet<K, V>) entries).fastForEach(consumer); else entries.forEach(consumer); } /**
/** * Log cluster sizes in verbose mode. * * @param m Log message * @param dimensionality Dimensionality * @param clustersMap Cluster map */ private void logClusterSizes(String m, int dimensionality, Object2ObjectOpenCustomHashMap<long[], List<ArrayModifiableDBIDs>> clustersMap) { if(LOG.isVerbose()) { final StringBuilder msg = new StringBuilder(1000).append(m).append('\n'); for(ObjectIterator<Object2ObjectMap.Entry<long[], List<ArrayModifiableDBIDs>>> iter = clustersMap.object2ObjectEntrySet().fastIterator(); iter.hasNext();) { Object2ObjectMap.Entry<long[], List<ArrayModifiableDBIDs>> entry = iter.next(); msg.append(BitsUtil.toStringLow(entry.getKey(), dimensionality)).append(" sizes:"); for(ArrayModifiableDBIDs c : entry.getValue()) { msg.append(' ').append(c.size()); } msg.append('\n'); } LOG.verbose(msg.toString()); } }
/** * Returns an iterator that will be {@linkplain FastEntrySet fast}, if possible, * on the {@linkplain Map#entrySet() entry set} of the provided {@code map}. * * @param map * a map from which we will try to extract a (fast) iterator on the * entry set. * @return an iterator on the entry set of the given map that will be fast, if * possible. * @since 8.0.0 */ @SuppressWarnings("unchecked") public static <K, V> ObjectIterator<Object2ObjectMap.Entry<K, V>> fastIterator(Object2ObjectMap<K, V> map) { final ObjectSet<Object2ObjectMap.Entry<K, V>> entries = map.object2ObjectEntrySet(); return entries instanceof Object2ObjectMap.FastEntrySet ? ((Object2ObjectMap.FastEntrySet<K, V>) entries).fastIterator() : entries.iterator(); } /**
/** * Iterates quickly over this entry set; the iteration might happen always on * the same entry instance, suitably mutated. * * <p> * This default implementation just delegates to {@link #forEach(Consumer)}. * * @param consumer * a consumer that will by applied to the entries of this set; the * entries might be represented by the same entry instance, suitably * mutated. * @since 8.1.0 */ default void fastForEach(final Consumer<? super Object2ObjectMap.Entry<K, V>> consumer) { forEach(consumer); } }