java用map随机产生100个0-9之间的整数,统计每个数出现的次数
发布网友
发布时间:2022-10-02 19:54
我来回答
共2个回答
热心网友
时间:2023-10-09 04:58
知识点一: HashMap 实现了map的接口. 里面使用键值对存储数据
1个key(键)对应1个value(值) , key不能重复
知识点二: HashMap的遍历 循环 使用Iterator进行
知识点三: HashMap的常用方法
map.put(key,value) 可以存储或者修改之间的数据
map.get(key) 可以通过键, 来得到值
map.containsKey(key) 可以查询map里是否包含这个键key
具体的参考代码和注释
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
public class Test {
public static void main(String[] args) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < 100; i++) {
int num = (int) (Math.random() * 10);//产生随机数, 范围0~9
if (map.containsKey(num)) {//如果map里面已经存在了这个数字的键
map.put(num, map.get(num) + 1);//那么就修改这个数, 对应的次数增加1
} else {//如果map不存在这个数字的键
map.put(num, 1);//那么添加这个数的键, 对应的次数设置为1
}
}
// 使用自带的toString输出
// System.out.println(map);
//Map的标准 遍历输出方式
Iterator<Entry<Integer,Integer>> it = map.entrySet().iterator();
while(it.hasNext()){//如果存在下一个键值对, 那么继续循环
Entry<Integer,Integer> entry = it.next();//得到下一个键值对
System.out.println("数字"+entry.getKey()+"\t次数:"+entry.getValue());
}
}
}
运行测试
数字0次数:13
数字1次数:9
数字2次数:9
数字3次数:10
数字4次数:10
数字5次数:11
数字6次数:10
数字7次数:9
数字8次数:12
数字9次数:7
热心网友
时间:2023-10-09 04:59
用Random产生随机数,用Map统计:
import java.util.*;
public class Test
{
public static void main(String... args)
{
Random r=new Random();
Map<Integer,Integer> map=new HashMap<Integer,Integer>();
for (int i=0;i<100;i++)
{
int k=r.nextInt(10);
if(map.containsKey(k))
{
map.put(k,map.get(k)+1);
}
else
{
map.put(k,1);
}
}
System.out.println(map);
}
}