blob: 39e630bfcd43d2b6a497f610fb6d089e40a29fda [file] [log] [blame]
// $Id: hash2.java,v 1.1 2004-05-23 05:50:10 bfulgham Exp $
// http://www.bagley.org/~doug/shootout/
import java.util.*;
class Val {
int val;
Val(int init) { val = init; }
}
public class hash2 {
public static void main(String args[]) {
int n = Integer.parseInt(args[0]);
HashMap hash1 = new HashMap(10000);
HashMap hash2 = new HashMap(n);
for(int i = 0; i < 10000; i++)
hash1.put("foo_" + Integer.toString(i, 10), new Val(i));
for(int i = 0; i < n; i++) {
Iterator it = hash1.entrySet().iterator();
while(it.hasNext()) {
Map.Entry h1 = (Map.Entry)it.next();
String key = (String)h1.getKey();
int v1 = ((Val)h1.getValue()).val;
if (hash2.containsKey(key))
((Val)hash2.get(key)).val += v1;
else
hash2.put(key, new Val(v1));
}
}
System.out.print(((Val)hash1.get("foo_1")).val + " " +
((Val)hash1.get("foo_9999")).val + " " +
((Val)hash2.get("foo_1")).val + " " +
((Val)hash2.get("foo_9999")).val + "\n");
}
}