diff options
Diffstat (limited to 'src')
4 files changed, 13 insertions, 6 deletions
diff --git a/src/java/com/jogamp/common/util/IntIntHashMap.java b/src/java/com/jogamp/common/util/IntIntHashMap.java index 954b379..f78b1e0 100644 --- a/src/java/com/jogamp/common/util/IntIntHashMap.java +++ b/src/java/com/jogamp/common/util/IntIntHashMap.java @@ -162,18 +162,19 @@ public class /*name*/IntIntHashMap/*name*/ implements Cloneable, mask, capacity, threshold, keyNotFoundValue); + final ArrayList<Entry> entries = new ArrayList<Entry>(); for(int i=table.length-1; i>=0; i--) { // single linked list -> ArrayList - final ArrayList<Entry> entries = new ArrayList<Entry>(); Entry se = table[i]; while(null != se) { entries.add(se); se = se.next; } // clone ArrayList -> single linked list (bwd) + final int count = entries.size(); Entry de_next = null; - for(int j=entries.size()-1; j>=0; j--) { - se = entries.get(j); + for(int j=count-1; j>=0; j--) { + se = entries.remove(j); if( isPrimitive ) { de_next = new Entry(se.key, se.value, de_next); } else { diff --git a/src/junit/com/jogamp/common/util/IntIntHashMapTest.java b/src/junit/com/jogamp/common/util/IntIntHashMapTest.java index ac009cb..75524ac 100644 --- a/src/junit/com/jogamp/common/util/IntIntHashMapTest.java +++ b/src/junit/com/jogamp/common/util/IntIntHashMapTest.java @@ -35,10 +35,12 @@ import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; + import org.junit.BeforeClass; import org.junit.Test; import com.jogamp.common.os.Platform; +import com.jogamp.junit.util.JunitTracer; import static org.junit.Assert.*; import static java.lang.System.*; @@ -52,7 +54,7 @@ import org.junit.FixMethodOrder; import org.junit.runners.MethodSorters; @FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class IntIntHashMapTest { +public class IntIntHashMapTest extends JunitTracer { private static int iterations; private static IntIntUniqueRndValues pairs; diff --git a/src/junit/com/jogamp/common/util/IntObjectHashMapTest.java b/src/junit/com/jogamp/common/util/IntObjectHashMapTest.java index 11bf765..3207683 100644 --- a/src/junit/com/jogamp/common/util/IntObjectHashMapTest.java +++ b/src/junit/com/jogamp/common/util/IntObjectHashMapTest.java @@ -35,10 +35,12 @@ import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; + import org.junit.BeforeClass; import org.junit.Test; import com.jogamp.common.os.Platform; +import com.jogamp.junit.util.JunitTracer; import static org.junit.Assert.*; @@ -51,7 +53,7 @@ import org.junit.FixMethodOrder; import org.junit.runners.MethodSorters; @FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class IntObjectHashMapTest { +public class IntObjectHashMapTest extends JunitTracer { private static int iterations; private static IntIntObjUniqueRndValues pairs; diff --git a/src/junit/com/jogamp/common/util/LongIntHashMapTest.java b/src/junit/com/jogamp/common/util/LongIntHashMapTest.java index f6ec4bc..90e54b9 100644 --- a/src/junit/com/jogamp/common/util/LongIntHashMapTest.java +++ b/src/junit/com/jogamp/common/util/LongIntHashMapTest.java @@ -35,10 +35,12 @@ import java.io.IOException; import java.util.Iterator; import java.util.HashMap; import java.util.Map.Entry; + import org.junit.BeforeClass; import org.junit.Test; import com.jogamp.common.os.Platform; +import com.jogamp.junit.util.JunitTracer; import static org.junit.Assert.*; import static java.lang.System.*; @@ -52,7 +54,7 @@ import org.junit.FixMethodOrder; import org.junit.runners.MethodSorters; @FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class LongIntHashMapTest { +public class LongIntHashMapTest extends JunitTracer { private static int iterations; private static LongIntUniqueRndValues pairs; |