Foreach与Random

【记忆贴】

1)foreach语句可以用于数据或者其他任何Iterable,但是并不意味着数组肯定也是一个Iterable,而任何自动包装也不会自动发生。

 1 package thinking.in.java.demo;
 2 
 3 import java.util.Arrays;
 4 
 5 public class TestForeach {
 6 
 7     /**
 8      * @param args
 9      */
10     public static void main(String[] args) {
11         test(Arrays.asList(1, 2, 3));
12         String[] strings = { "A", "B", "C" };
13         // 错误的用法test(strings)
14         test(Arrays.asList(strings));
15     }
16 
17     public static <T> void test(Iterable<T> ib) {
18         for (T t : ib) {
19             System.out.print(t + " ");
20         }
21     }
22 }

2)Map是将对象映射到其他对象的能力是一种解决编程问题的杀手锏。例如考虑一个程序,它将用来检查Java的Random类的随机性。理想吧状态下,Random可以将产生理想的数字分布,弹药想测试它,则需要生成大量的随机数,并对落入各种不同范围的数据进行计数。Map可以很容易的解决该问题。在本例中,键是由Random产生的数字,而值是该数字出现的次数:

 1 package thinking.in.java.demo;
 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 import java.util.Random;
 6 
 7 //page234
 8 public class Stastic {
 9 
10     /**
11      * @param args
12      */
13     public static void main(String[] args) {
14 
15         Map<Integer, Integer> map=new HashMap<Integer,Integer>();
16         Random random=new Random(47);
17         for(int i=0;i<10000;i++){
18             //0-20(不包括20)
19             int r=random.nextInt(20);
20             Integer count=map.get(r);
21             map.put(r, count==null?1:count+1);
22         }
23         System.out.println(map);
24     }
25 
26 }

随机数种子seed:Random random=new Random(47);指定随机数种子,无论你把程序运行多少遍,产生的随机数序列都是相同的,如果不指定种子的话,则每次产生的随机数序列都不同。


本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值