功能:
使用Map测试Random函数的随机性
过程:
- 类Statistics
key值保存出现的数值,value统计出现次数,共10000
(不能使用基本类型的容器。自动包装)
个人实现:
package thinking;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class Statistics {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
Random random = new Random(47);
for(int i=0;i<10000;i++){
int key = random.nextInt(20);
//map.containsKey(key)?(map.get(key)+1):map.put(key, 1);//三目运算语法忘了
int value = map.containsKey(key)?(map.get(key)+1):1;
map.put(key, value);
}
System.out.println(map);
}
}
原书实现:
package thinkingjava;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class Statistics {
public static void main(String[] args) {
Random random = new Random(47);
Map<Integer,Integer> m = new HashMap<Integer,Integer>();
for(int i=0;i<10000;i++){
int r = random.nextInt(20);
Integer freq = m.get(r);
m.put(r,freq==null?1:freq+1);
}
System.out.println(m);
}
}