@TearDown(Level.Iteration) public void tearDown() { map = new HashMap<>(size); iterableMap = new HashedMap<>(size); mutableMap = UnifiedMap.newMap(size); for (int i = 0; i < size; i++) { map.put(i, i); mutableMap.put(i, i); iterableMap.put(i, i); } }
@Override public MapIterator<K, V> mapIterator() { if (map instanceof IterableMap) { final MapIterator<K, V> it = ((IterableMap<K, V>) map).mapIterator(); return UnmodifiableMapIterator.unmodifiableMapIterator(it); } final MapIterator<K, V> it = new EntrySetMapIterator<>(map); return UnmodifiableMapIterator.unmodifiableMapIterator(it); }
@Benchmark public long test9_UsingApacheIterableMap() throws IOException { long i = 0; MapIterator<Integer, Integer> it = iterableMap.mapIterator(); while (it.hasNext()) { i += it.next() + it.getValue(); } return i; }