@Test public void testForEachPair() { final List<Pair> pairs = new ArrayList<Pair>(); OpenShortDoubleHashMap map = new OpenShortDoubleHashMap(); map.put((short) 11, (double) 22); map.put((short) 12, (double) 23); map.put((short) 13, (double) 24); map.put((short) 14, (double) 25); map.removeKey((short) 13); map.forEachPair( new ShortDoubleProcedure() { @Override public boolean apply(short first, double second) { pairs.add(new Pair(first, second)); return true; } }); Collections.sort(pairs); assertEquals(3, pairs.size()); assertEquals((short) 11, pairs.get(0).k); assertEquals((double) 22, pairs.get(0).v, (double) 0.000001); assertEquals((short) 12, pairs.get(1).k); assertEquals((double) 23, pairs.get(1).v, (double) 0.000001); assertEquals((short) 14, pairs.get(2).k); assertEquals((double) 25, pairs.get(2).v, (double) 0.000001); pairs.clear(); map.forEachPair( new ShortDoubleProcedure() { int count = 0; @Override public boolean apply(short first, double second) { pairs.add(new Pair(first, second)); count++; return count < 2; } }); assertEquals(2, pairs.size()); }